Skip to content

Releases: iboB/itlib

v1.9.1

22 Apr 03:09
v1.9.1
52879b5
Compare
Choose a tag to compare
  • mem_streambuf: rearrange code to avoid adding int to nullptr which is UB
  • poly_span: disable UB sanitizer for calls to m_poly_func
  • added some .natvis files

v1.9.0

06 Apr 11:34
v1.9.0
f103ec0
Compare
Choose a tag to compare
  • New library: pmr_allocator. A C++17 wrapper of std::pmr::polymorphic_allocator with a C++20 interface
  • New library: any. An alternative implementation of C++17's std::any
  • Proper iterator support in poly_span and stride_span
  • utility: added make_nullptr
  • type_traits: added type_identity

v1.8.3

07 Feb 18:26
v1.8.3
b5785a0
Compare
Choose a tag to compare
  • New library: data_mutex. A template pair of an object and a mutex used to synchronize access to it. It makes it hard to cause bugs by forgetting to lock a mutex associated with an object.
  • static_vector: added resize with an initializer
  • pod_vector: use some algorithms from <alorithm> which improves code generation with MSVC
  • atomic: improvements to the interface of atomic_relaxed_counter
  • qalgorithm new algorithms:
    • qall_of wraps std::all_of
    • qany_of wraps std::any_of,
    • qnone_of wraps std::none_of
    • New type identity: and identity function similar to std::identity from C++23

v1.8.2

17 Jan 08:08
v1.8.2
d2fb684
Compare
Choose a tag to compare
  • flat_map:
    • BUGFIX: proper throwing of exceptions in at. #17
    • added a constructor from Container
    • added constructors form iterator ranges
  • static_vector:
    • added shim allocator argument to constructors to be used in template code
    • added missing overloads of erase and insert like the ones in std::vector
  • flat_set: added constructors from iterator ranges

v1.8.1

15 Jan 05:00
v1.8.1
ecb0e6f
Compare
Choose a tag to compare
  • flat_map:
    • fixed transparent lookups for std::string_view (it wouldn't compile)
    • inherit from Compare to make use of EBO
  • flat_set:
    • BUGFIX: fixed construction from range when a custom Compare whose equivalence is not the same as operator== for the type
    • inherit from Compare to make use of EBO

v1.8.0

28 Dec 09:35
b0dba6c
Compare
Choose a tag to compare
  • New library: atomic. Utility extensions for <atomic>
  • New library: atomic_shared_ptr_storage. Atomic load and store for std::shared_ptr
  • shared_from: fixed bad semicolon paste remnant
  • make_ptr: added make_aliased
  • General: updated GitHub actions

v1.7.0

06 Dec 12:44
v1.7.0
ac84fbf
Compare
Choose a tag to compare
  • New library: utility. Several generally unrelated utility functions
  • New library: shared_from. Replacement for std::enable_shared_from_this
  • qalgorithm: span-compatible pfind functions
  • small_vector: more tests and unused var fix
  • mem_streambuf: fixed typo in static assertion text
  • Dev mode: Enable more warnings for msvc
  • General: Added several build failure tests

v1.6.3

24 Sep 09:36
Compare
Choose a tag to compare
  • expected:
    • specialization for void and reference values and errors
    • alias template eoptional<T> for expected<T, void>
  • flat_map and flat_set: added upper_bound and equal_range
  • ufunction: fixed issue which was preventing construction from free functions
  • Added alias target itlib::itlib to CMakeLists.txt
  • Minor typos, docs, test improvements

v1.6.1

01 Sep 17:57
Compare
Choose a tag to compare
  • span: constructor deduction from containers
  • Updated tests, based on CPM.cmake and iboB/doctest-util
  • Minor comments and doc updates

v1.6.0

26 Aug 19:19
Compare
Choose a tag to compare
  • small_vector redesign:
    • Smaller size
    • No more passive dynamic buffer
  • pod_vector: inherit from allocator to make use of Empty Base Optimization