optional lite - A C++17-like optional, a nullable object for C++98, C++11 and later in a single-file header-only library
This release of optional lite contains the following changes:
Additions:
[[nodiscard]]
to relational operators.Changes:
_HAS_EXCEPTIONS
warning with Clang (#68, thanks @redbaron).optional_constexpr14
with value_or_eval()
(#67).Fixes:
This release of optional lite contains the following changes:
Additions:
tc-cl.bat
(nonstd-lite-project issues 54).optional_static_assert()
and compile-time checks on T.library.json
(replaces #64, thanks to @Nullfati).export()
to CMakeLists.txt
enabling importing targets. See nonstd-lite-project issues 50.Changes:
#if defined(_MSC_VER)
to avoid -Wundef
warning (#65, thanks @eepp).=default
with test structures to VS2015 for (#61).Fixes:
value_or()
from changing stored value (issue #60, thanks @deadem, @mortenfyhn and @phprus).This release of optional lite fixes direct initialization of an optional with C++11 and later (issue #59. Thanks to @deadem).
Release 3.3.0 of optional lite contains the following changes.
Additions:
Changes:
struct enabler
.Fixes:
requires()
to use a default template argument (#55, #57, thanks to @improbablejan), see nonstd-lite-project issue 40
optional_HAVE_INITIALIZER_LIST
is undefined #51 (#52)[to be expanded]
This release of optional lite improves support for CMake and Conan and contains numerous other changes and fixes.
See also nonstd lite project Improve coherence between lite projects.
This bug-fix release prevents a clash of a template parameter with macro I
in header complex.h
of GNUC 6 (#31, thanks to @gcarleo).
To be written
conversion from ‘long unsigned int’ to ‘unsigned int' may change value
-messages (#25)conversion from ‘long unsigned int’ to ‘unsigned int' may change value
-messagesoptional lite has been re-licensed under the Boost Software License (BSL) (issue #17).
Additions
Changes
Fixes
This release of optional lite contains the following changes.
Changes
This release lets nonstd::optional
use std::optional
if it's available. Further in_place_type
and in_place_index
were added. The readme now has Conan installation instructions and badge (issue #9, thanks to @agauniyal) as well as a section Other implementations of optional.
Fixes
None.
This release of optional lite contains the following changes.
Changes Relational operators now support mixed value types as specified in C++17 and are constexpr.
Fixes The struct/class mismatch for std::hash has been fixed (thanks to Łukasz A.J. Wrona @LAJW).