Skip to content
Branch: master
Go to file
Code

Latest commit

TLaviron and Thierry Laviron committed 13d949c Jun 18, 2020
Fix tuple vector assign (#374)
* Improve tuple_vector assign test

There is a bug when using the assign overload with two pointers to
tuples. When the target tuple_vector has enough capacity but a lower
size than the input range, the elements at the begining of the input
range are repeated in the target tuple_vector.

The existing test did not cover this case as all the elements in the
input range were identical. This change now uses distinct elements for
all the input std::initializer_list s provided to the assign function,
highlighting the bug.

* Fix tuple_vector assign with a range of values

The unitialized part of the target tuple_vector is now initialized with
the corresponding range in the input range, instead of always using the
start of the range.

Co-authored-by: Thierry Laviron <thierry.laviron@grenoble-inp.org>

Files

Permalink
Failed to load latest commit information.

README.md

EA Standard Template Library

Build Status

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.

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.

Package Managers

You can download and install EASTL using the Conan package manager:

conan install eastl/3.15.00@

The EASTL package in conan is kept up to date by Conan team members and community contributors. If the version is out-of-date, please create an issue or pull request on the Conan Center Index repository.

You can download and install EASTL using the vcpkg dependency manager:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install eastl

The EASTL port in vcpkg is kept up to date by Microsoft team members and community contributors. If the version is out of date, please create an issue or pull request on the vcpkg repository.

Documentation

Please see EASTL Introduction.

Compiling sources

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

Credits

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

Roberto Parolin is the current EASTL owner within EA and is responsible for the open source repository.

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

  • Avery Lee
  • Colin Andrews
  • JP Flouret
  • Liam Mitchell
  • Matt Newport
  • Max Winkler
  • Paul Pedriana
  • Roberto Parolin
  • Simon Everett

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.

Topics

Resources

License

Languages

You can’t perform that action at this time.