MNMLSTC Core 1.1.0 is now available.
This release brings a large number of new features and a large number of bug fixes and only 1 breaking change. In no particular order:
- Fix
expected<T>
disregarding the interface expressed byoptional<T>
- Fix
optional<T>
not following N3793 by not permittingconstexpr optional<T>
- Fix
swap
functions being placed in the wrong namespace (ADL would not trigger) - Fix lack of exception safety in
core::any
copying (would result in a memory leak) - Fix
variant<Ts...>
constructor being explicit (this caused a slight incompatibility with Boost.Variant) - Fix
value_at<N>
not working at all in the utility component. - Fix
any
not implementingoperator = (ValueType&&)
member function. - Add an implementation of N4017 (non-member
size()
and more) - Add
std::error_condition
optional typeresult<T>
. - Add
constexpr
move
andforward
functions - Add
is_null_pointer
type trait. - Add
is_nothrow_swappable
type trait. - Add functions from
<numeric>
that take a range-like type (Alternative to Boost.Range) - Add functions from
<algorithm>
that take a range-like type (Alternative to Boost.Range) - Add
remove_erase
andremove_erase_if
to algorithm component (Alternative to Boost.Range) - Add
transform_if
to algorithm component (Boost.Range does not provide this) - Add
dismiss
member function toscope_guard<Callable>
, which allows one to cancel thescope_guard
from executing. - Make
invoke
functionconstexpr
(This does not include theunpack_t
andrunpack_t
overloads) - Move
expected<T>
to the optional component header (BREAKING CHANGE)
This is also the first release which provides an RPM for Linux distributions. The RPM is signed, and the public key is provided as well.
A DEB package is not provided as it was discovered that CPack DEB support is for binary packages only. C'est La Vie.