Skip to content

Releases: OleErikPeistorpet/OE-Lib

Version 3.0.1 (stable)

10 Jun 18:35
Compare
Choose a tag to compare

The allocator and dynarray now use realloc for trivially relocatable types

Lots of new small features, especially related to views.

Version 2.4.1 (stable)

19 Dec 13:16
Compare
Choose a tag to compare

Changes in v2.4:

  • erase multiple elements (pair of iterators) now supports types that aren't trivially relocatable
  • Using sized operator delete when available
  • view::transform now works for ranges with unknown size, and the view usually has an end
  • Precondition checks default to off unless _DEBUG is defined, previously on by default unless NDEBUG was defined
  • Minor API breaks: removed counted_view::data, renamed iterator_range to basic_view

Fixed in v2.4.1: shrink_to_fit would lose all elements of types that are not trivially relocatable

Version 2.3.1 (stable)

13 Oct 22:28
Compare
Choose a tag to compare

Notable change in v2.3:

  • Now detecting overflow in append and insert_r and throwing length_error (was already handled in most places)

Changes (minor) in v2.3.1:

  • Performance fix: std::basic_string using std::allocator was not treated as trivially relocatable (same for boost::circular_buffer)
  • Slightly better optimized for debug builds, and slightly better code-gen in release mode in some cases

Version 2.2.1 (stable)

06 Oct 12:35
Compare
Choose a tag to compare

Most notable changes since v1.6:

  • Support for stateful allocators, including std::polymorphic_allocator
  • Exceptions disabled is supported
  • Most dynarray functions support types that are not trivially relocatable (but then require nothrow move constructible)
  • Insert a range of multiple objects with insert_r
  • A bunch of new view stuff (as in C++20 ranges), including an efficient view::transform
  • Support for aggregates in make_unique and emplace_back
  • Boost no longer required for over-aligned allocation

Fixed in v2.2.1: Class template argument deduction failed with Clang

Version 1.6.8 (stable)

05 May 08:06
Compare
Choose a tag to compare

Fixed in v1.6.8: Broken standard library for GCC 4.7 and 4.8 caused compilation failure
New in v1.6.7: Compatible with Visual Studio 2017. Slightly tuned initial growth (larger allocations)
New in v1.6.6: Changed oe_lib.natvis to work with Visual Studio 2015.

Notable changes since v1.5:

  • Marking types in a namespace trivially relocatable has been simplified with specify_trivial_relocate, found in user_traits.h.
  • Always using global new_handler if one has been installed (with set_new_handler).