Skip to content
jmgilbert2Public

About

EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

EA Standard Template Library

EASTL stands for Electronic Arts Standard Template Library. It is a C++ template library of containers, algorithms, and iterators useful for runtime and tool development across multiple platforms. It is a fairly extensive and robust implementation of such a library and has an emphasis on high performance above all other considerations.

About this fork

This is a fork of electronicarts/EASTL for personal use. It is planned to diverge from upstream in the following ways:

  • a focus on C++20 and C++23;
  • performance at least on par with the MSVC STL;
  • accepting and rejecting the same code as the standard library (for example, SFINAE-friendly type traits such as common_type, and swap calls that don't clash with std::swap), while keeping EASTL's major interface differences and extensions;
  • new extensions and further breaks from the STL interface where they make sense, so don't expect the same pointer and iterator stability guarantees as the STL.

The EASTL packages in Conan and vcpkg are built from upstream, not from this fork. Use this fork from source, with the matching EABase fork.

Usage

If you are familiar with the C++ STL or have worked with other templated container/algorithm libraries, you probably don't need to read this. If you have no familiarity with C++ templates at all, then you probably will need more than this document to get you up to speed. In this case, you need to understand that templates, when used properly, are powerful vehicles for the ease of creation of optimized C++ code. A description of C++ templates is outside the scope of this documentation, but there is plenty of such documentation on the Internet.

EASTL is suitable for any tools and shipping applications where the functionality of EASTL is useful. Modern compilers are capable of producing good code with templates and many people are using them in both current generation and future generation applications on multiple platforms from embedded systems to servers and mainframes.

Documentation

Please see EASTL Introduction.

Compiling sources

Please see CONTRIBUTING.md for details on compiling and testing the source.

Credits And Maintainers

EASTL was created by Paul Pedriana and he maintained the project for roughly 10 years.

EASTL was subsequently maintained by Roberto Parolin for more than 8 years. He was the driver and proponent for getting EASTL opensourced. Rob was a mentor to all members of the team and taught us everything we ever wanted to know about C++ spookyness.

After Rob, maintenance of EASTL passed to Max Winkler for roughly a year, then to Liam Mitchell for about another year.

The current maintainers (since circa 2022) are Galo Rojo and Jonathan Hopkins.

Significant EASTL contributions were made by (in alphabetical order):

  • Avery Lee
  • Claire Andrews
  • Galo Rojo
  • Jonathan Hopkins
  • JP Flouret
  • Liam Mitchell
  • Matt Newport
  • Max Winkler
  • Paul Pedriana
  • Roberto Parolin
  • Simon Everett

Contributors

Projects And Products Using EASTL

License

Modified BSD License (3-Clause BSD license) see the file LICENSE in the project root.

About

EASTL stands for Electronic Arts Standard Template Library. It is an extensive and robust implementation that has an emphasis on high performance.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages