All Versions
Latest Version
Avg Release Cycle
133 days
Latest Release
1397 days ago

Changelog History

  • v1.0.0 Changes

    June 22, 2020
    • ๐Ÿ›  Fix issue #24, add support for efficient serialization.
    • โž• Add bool contains(...) methods.
  • v0.8.1 Changes

    February 17, 2019
    • ๐Ÿ›  Fix compilation error with GCC 9, the implicit copy/move constructor/operator of the iterator were not generated.
    • ๐Ÿ›  Fix issue #23, rename the internal insert with hint method to insert_hint to avoid a potential ambiguous overload with the insert with a pair of iterators.
  • v0.8.0 Changes

    January 27, 2019
    • Rename CMake project name from tsl_ordered_map to tsl-ordered-map for coherence with the convention used by most package managers. The find_package(tsl-ordered-map) command must now be used instead of the find_package(tsl_ordered_map).
    • 0๏ธโƒฃ Set bucket count for default constructed map/set to 0 to avoid any allocation.
    • ๐Ÿ›  Fix CMake >= 3.13 warning on Policy CMP0076 and add quotes to paths.
    • Remove cxx_std_11 from target_compile_features to avoid a warning with older versions of CMake that don't support it. The warning was given even if the target_compile_features was surrounded in a if(${CMAKE_VERSION} VERSION_GREATER "3.7").
    • Fix bug where using rehash(0) on an empty map with a bucket_count > 0 would result in an invalid m_buckets pointer leading to potential segfaults.
  • v0.7.1 Changes

    November 03, 2018
    • ๐Ÿ›  Fix CMakeLists.txt. Only add the CMake installation rules for version of CMake >= 3.3 to keep compatibility with CMake 3.1.
  • v0.7.0 Changes

    October 12, 2018
    • โž• Add MSVC debugger visualization .natvis file (#20).
    • Fix issue in erase and insert_at_position on platforms where the char type is unsigned.
    • โž• Add installation rules in the CMake of the project (#22).
  • v0.6.0 Changes

    August 06, 2018

    ๐Ÿš€ This release introduce a minor backward incompatibility by moving the headers files.

    • ๐Ÿšš Move the header files from tsl to include/tsl for more coherence with other C++ libraries.
    • For CMake users, add an exported target tsl::ordered_map to be used with target_link_libraries.
  • v0.5.0 Changes

    August 04, 2018
    • In max_load_factor(float ml), check that the ml parameter is in the range [0.1, 0.95].
    • ๐Ÿ› Bug correction, restore support for copy constructible only objects as key or value in a map (#11) .
    • ๐Ÿ› Bug correction, set a moved hash map/set in a valid state so that it can still be used even after a move. (#17)
    • โž• Add the possibility to use the library without exceptions (#13)
    • โž• Add support for large maps/sets (more than 232 - 1 elements) through an extra class template parameter (#18)
  • v0.4.0 Changes

    August 12, 2017
    • Split ordered_map.h into ordered_hash.h, ordered_map.h and ordered_set.h.
    • ๐Ÿšš Move header files from src directory to tsl directory
    • โฌ‡๏ธ Reduce default max load factor to 0.75.
    • ๐Ÿ› Bug correction in equal_range, the second iterator was always equal to the first.
    • โž• Add methods taking a precalculated hash for lookups.
    • Correct amount of reserved space for range insert.
    • Use uint_least32_t instead of uint32_t for portability.
    • Bug correction in 'iterator erase(const_iterator first, const_iterator last)`.
    • Add insert_at_position, emplace_at_position and try_emplace_at_position methods.
    • Correct method signature of emplace_hint.
  • v0.3.0 Changes

    July 11, 2017
    • Add try_emplace and insert_or_assign methods (#7).
    • ๐Ÿ› Bug correction (#5) for the clear() method.
    • ๐Ÿ‘‰ Use 'Empty Base Optimization' for Hash and KeyEqual to reduce the sizeof(tsl::ordered_map/set).
    • โž• Add iterator nth(size_type index) method.
    • โž• Add missing method for operator+ in iterators (#4).
    • ๐Ÿ› Bug correction, check that we are not over max_size() when inserting a new element.
  • v0.2.0 Changes

    March 12, 2017
    • โž• Add support for GCC 4 8.4.
    • ๐Ÿ› Bug correction, swap was recursing infinitely.
    • โฌ‡๏ธ Reduce identifiers length to avoid VS 'decorated name length exceeded' (C4503) warning.