Download Latest Version 3.27.01 source code.tar.gz (1.7 MB)
Email in envelope

Get an email when there's a new version of EASTL

Home / 3.18.00
Name Modified Size InfoDownloads / Week
Parent folder
3.18.00.tar.gz 2021-10-20 1.6 MB
3.18.00.zip 2021-10-20 1.8 MB
README.md 2021-10-20 2.2 kB
Totals: 3 Items   3.4 MB 0

Welcome to the 3.18.00 release of EASTL. Thank you to everyone who's contributed to this release.

Feature additions and standard updates:

  • Implemented eastl::bit_cast.
  • Implemented eastl::is_nothrow_invocable.
  • Implemented eastl::to_underlying.
  • Implemented LWG defect 2106: move_iterator doesn't work with iterators which don't return a reference

Bugfixes:

  • eastl::invoke fixes:
  • invoke now correctly deduces the function signature when invoking a member function or member data pointer on a reference_wrapper. Previously, this would fail if using arguments which were convertible to the correct type, but did not exactly match.
  • invoke now correctly forwards arguments when invoking a member data pointer.
  • invoke now correctly uses decay_t instead of remove_reference_t in a number of places.
  • invoke_result_t no longer uses decay_t on the type being invoked.
  • invoke is now constexpr.

  • eastl::variant fixes:

  • Fixed incorrect results from some relational operators when valueless_by_exception() is true.
  • Fixed incorrect index when an exception is thrown during emplace().

  • Removed assertions from some eastl::array functions in order to ensure usability in constexpr contexts.

  • eastl::make_signed and eastl::make_unsigned now work correctly for enum types and volatile-qualified types.
  • Containers which support find_as now support using it with keys of the same type as the container's key.
  • Disallowed use of smart pointer default deleter on incomplete types.
  • Fixed an issue where nodes for some data structures could be under-aligned.
  • Properly supported arrays in eastl::cbegin() and eastl::cend().
  • Fixed creation of zero-length spans and subspans.
  • eastl::is_reference now returns true for rvalue references.
  • Fixed a potential out-of-bounds memory access when sorting certain containers.

Optimizations:

  • eastl::variant optimizations:
  • Avoided unnecessary double index checks in variant relational operators.
  • Avoided unnecessary work in valueless_by_exception() when exceptions are disabled.
  • Optimized visit() for the common case of visiting a single variant.
  • Removed unnecessary copies during visit().
Source: README.md, updated 2021-10-20