Releases: Tessil/ordered-map
Releases · Tessil/ordered-map
v1.1.0
This release fixes a critical bug in insert_at_position
and erase
(unordered_erase
and pop_back
are not affected), upgrade is recommended if these functions are used.
v1.0.0
v0.8.1
v0.8.0
- Rename CMake project name from
tsl_ordered_map
totsl-ordered-map
for coherence with the convention used by most package managers. Thefind_package(tsl-ordered-map)
command must now be used instead of thefind_package(tsl_ordered_map)
. - 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
fromtarget_compile_features
to avoid a warning with older versions of CMake that don't support it. The warning was given even if thetarget_compile_features
was surrounded in aif(${CMAKE_VERSION} VERSION_GREATER "3.7")
. - Fix bug where using
rehash(0)
on an empty map with abucket_count > 0
would result in an invalidm_buckets
pointer leading to potential segfaults.
v0.7.1
v0.7.0
v0.6.0
This release introduce a minor backward incompatibility by moving the headers files.
- Move the header files from
tsl
toinclude/tsl
for more coherence with other C++ libraries. - For CMake users, add an exported target
tsl::ordered_map
to be used withtarget_link_libraries
.
v0.5.0
- In
max_load_factor(float ml)
, check that theml
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 2^32 - 1 elements) through an extra class template parameter (#18)
v0.4.0
- Split
ordered_map.h
intoordered_hash.h
,ordered_map.h
andordered_set.h
. - Move header files from
src
directory totsl
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 ofuint32_t
for portability. - Bug correction in 'iterator erase(const_iterator first, const_iterator last)`.
- Add
insert_at_position
,emplace_at_position
andtry_emplace_at_position methods
. - Correct method signature of
emplace_hint
.
v0.3.0
- 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.