Skip to content

3.09.00 Release

Compare
Choose a tag to compare
@rparolin rparolin released this 02 Apr 17:29
· 241 commits to master since this release
  • eastl::any fix to correctly decay reference types.
  • eastl::fixed_hash_map/eastl::fixed_hash_multimap fixes when a user requests to clear the bucket array hashtable rehashing was disabled with a default bucket count of 1. The behaviour now for fixed_hash_map (and fixed_hash_multimap) is the clear buckets request resets the containter to use the SBO and the default bucket count.
  • Added 'eastl::is_literal_type_v' type trait.
  • Added 'eastl::is_convertible_v' type trait.
  • eastl::string SSO capacity is now optimal
    • HeapLayout now uses 1 pointer and 2 size_t instead of 3 pointers
    • SSO rework to now use the maximum number of bytes possible, 23 bytes of SSO on 64bit, was 14 bytes before
    • set_capacity() will now shrink to SSO if the new capacity is within SSO limits
    • shrink_to_fit() implemented
    • basic_string(const basic_string&, const Allocator&) constructor implemented
    • substr(), left(), right() now properly return a basic_string with a default constructed allocator
      when inserting yourself into yourself reduced allocations from 1 to 0 or 1.
    • is_sso() function implemented that returns true if the current string is an SSO string
    • natvis updated
  • eastl::fixed_substring && eastl::fixed_string updated due to eastl::string changes
  • eastl::vector::emplace_back() now returns a reference to the emplaced element
  • eastl::variant::operator=(T) conversion assignment operator fixed an issue due to a incorrect conjunction expression that caused the operator to be removed via SFINAE.
  • eastl::intrusive_ptr now supports move semantics.
  • eastl::is_trivially_copyable fixes to use the proper compiler intrinsics.
  • eastl::deque::shrink_to_fit() implemented.