Skip to content

Releases: electronicarts/EASTL

3.05.02

08 Feb 17:47
Compare
Choose a tag to compare
  • Fixed move_iterator operator++(int) / operator--(int) not incrementing its state.
  • Implemented fixed_ring_buffer template alias to simplify the creation of ring_buffers backed by fixed_sized containers.
  • Added templates aliases for new hashtable based container names. (eg. unordered_set and unordered_map)
  • Improved internal hashtable support for move-only (aka. non-copyable types).
  • string_view fixes:
    • implemented cbegin/rbegin/crbegin fixes and unit tests
    • implemented cend/rend/crend fixes and unit tests
    • Added CharTypeStringRSearch function to char_traits header and fixed unit tests to call string_view::rfrind.

3.05.00

07 Dec 20:38
Compare
Choose a tag to compare
  • Implemented eastl:string_view, a non-owning string type that isn't templated on an allocator making it suitable for use at API boundaries.
  • Adding support for typed get for tuple (e.g. get(tuple& t)).
  • CoreAllocatorAdapter::operator= now copies the allocator name.
  • Fixed strict-aliasing issues in the eastl::intrusive_list implementation.
  • Adding move semantic guards around test code requiring that language feature.
  • Improving eastl::vector implementation to move elements (instead of copying) during a resize.

3.04.00

26 Oct 14:52
Compare
Choose a tag to compare
  • Implemented eastl::any, a type-safe container for single values of any type that is implemented with the 'local buffer optimization' to avoid heap allocations for small objects.
  • Improving standards conformance of vector::swap and improves use of vector with non-copyable or move-only types (e.g. unique_ptr). This includes a subtle but important behaviour change were vector::swap will no longer perform a copy of the vectors elements when the allocator instances are different. If you rely on copying elements from one vector to another when calling vector::swap(), you can reintroduce the slower, standard non-conforming behaviour by building with 'EASTL_VECTOR_LEGACY_SWAP_BEHAVIOUR_REQUIRES_COPY_CTOR' as a global define.
  • Implemented hashtable::reserve(element_count). This rehashes the underlying hashtable of all the hash containers to the accomdate the element count without exceeding the max load factor.
    http://en.cppreference.com/w/cpp/container/unordered_map/reserve
  • Implemented eastl::is_swappable_with / eastl::is_nothrow_swappable_with.
  • Implemented eastl::clamp.
  • Brought back new classes from Frostbite:
    • segmented_vector: vector that does not invalid iterators/references when elements are added.
    • string_map: specialized version of a map that uses a const char* as the key.
    • string_hash_map: specialized version of a hash_map that uses a const char* as the key.

3.02.01

18 Jul 15:35
Compare
Choose a tag to compare
  • Implemented eastl::optional. For more details see: http://en.cppreference.com/w/cpp/utility/optional.
  • Implemented 'transparent operator functors' for the following:
    • plus
    • minus
    • multiplies
    • divides
    • modulus
    • negate
    • equal_to
    • not_equal_to
    • greater
    • less
    • greater_equal
    • less_equal
    • logical_and
    • logical_or
    • logical_not
  • Implemented eastl::void_t.
  • Implemented eastl::is_same_v.
  • Implemented eastl::reverse(Iterator) to support reverse iteration in ranged-based for-loops.
  • Added allocation failure asserts to containers that do not utilize local storage.

3.01.01

25 May 23:41
Compare
Choose a tag to compare
  • Implemented eastl::bool_constant.
  • Implemented eastl::fixed_hash_map::rehash now supports hashtable bucket array overflow.
  • Implemented non-member eastl::size/eastl::data/eastl::empty.
  • Implemented eastl::is_hat_type trait.
  • Removed internal eastl::empty structure due to name collision.

3.01.00

25 May 23:04
Compare
Choose a tag to compare
  • Implemented eastl::to_string/eastl::to_wstring.
  • Implemented eastl::exchange.
  • Implemented eastl::as_const.
  • Implemented the move subscript operator for eastl::map. eg. eastl::map::operator

3.00.00

25 May 23:05
Compare
Choose a tag to compare

Initial Release