CARVIEW |
Navigation Menu
-
Notifications
You must be signed in to change notification settings - Fork 47
Releases: martinmoene/optional-lite
3.6.0
Compare
This release of optional lite contains the following changes:
Additions:
- Add non-standard value_or_eval() (#67).
- Add
[[nodiscard]]
to relational operators. - Add GitHub Actions CI and badge for it (nonstd-lite-project issue 55).
Changes:
- Update actions/checkout in GitHub Actions to v4 (#78, thanks @striezel).
- Update actions/checkout in GitHub Actions to v3 (#71, thanks @striezel).
- Add/update example/CMakeLists.txt (nonstd-lite-project issue 56).
- Remove gcc 8 and clang 8, 9, 10 from GitHub CI matrix (nonstd-lite-projet issue 69).
- Add common CMake generated files to gitignore (#75, thanks @kacf).
- Remove Travis CI configuration and badge (#73, thanks @striezel).
- Remove msvc (windows-2016) image from GitHub Actions (nonstd-lite-project issue 61, thanks @xavier2k6).
- Add msvc (windows-2022) image to GitHub Actions (nonstd-lite-project issue 62).
- Do not cancel all jobs in a workflow if one fails. (#72, thanks @striezel, nonstd-lite-projet issue 71).
- Use toplevel unit_name (nonstd-lite-project 56).
- Update CMakeLists.txt for examples (nonstd-lite-project 56).
- Change value used with *_CPP20_OR_GREATER to 202002L (nonstd-lite-project issue 49) Now, designate C++23 as speculative.
- Prevent undefined
_HAS_EXCEPTIONS
warning with Clang (#68, thanks @redbaron). - Use ternary operator and C++11 constexpr.
- Use
optional_constexpr14
withvalue_or_eval()
(#67). - Accommodate VS2013/MSVC12.0/1800 and earlier.
- Update Readme guided by markdownlint.
- In Readme, update test specification, add folding (#67).
- In Readme, correct URLs for reference [10] Generic: Discriminated Unions.
- In Readme, add Daniela Engert's Boost20.optional to section Other implementations of optional.
Fixes:
- Fix to use forwarding reference (thanks @matthew-wozniczka, fixes #74).
- Fix some typos (#70, thanks @striezel).
- Fix construction, emplace from const types (#69, thanks @atorstling).
- Fix cmake config file to use @package_nspace@ (nonstd-lite issue 68).
Assets 3
3.5.0
Compare
This release of optional lite contains the following changes:
Additions:
- Add script
tc-cl.bat
(nonstd-lite-project issues 54). - Add macro
optional_static_assert()
and compile-time checks on T. - Add PlatformIO library manifest file
library.json
(replaces #64, thanks to @Nullfati). - Add
export()
toCMakeLists.txt
enabling importing targets. See nonstd-lite-project issues 50.
Changes:
- Enhance in-place construction (#66, thanks @@fekir).
- Change to use
#if defined(_MSC_VER)
to avoid-Wundef
warning (#65, thanks @eepp). - Change usage of
=default
with test structures to VS2015 for (#61). - Handle lest test framework as system include to prevent warnings.
Fixes:
- Fix
value_or()
from changing stored value (issue #60, thanks @deadem, @mortenfyhn and @phprus).
Assets 3
3.4.0
Compare
Assets 3
3.3.0
Compare
Release 3.3.0 of optional lite contains the following changes.
Additions:
- Add tweak header support
Changes:
- Add .editorconfig.
- Add TortoiseGit integration with GitHub issues.
- Add build folder and IDE folders/files to .gitignore (.vs, .vscode, CodeBlocks).
- Change vcpkg install to use CMake
- Change badge 'on conan' to refer to conan-center (thanks @jgsogo).
- Improve section on Conan in Readme.
- Remove no longer used
struct enabler
. - Special-case usage of ref qualifiers for GNUC 4.8 (#56,thanks to @davidtazy).
- Update list of known good compilers (Xcode) (#54, thanks to @past-due).
- Add settings options to conanfile (#46, thanks to @ngrodzitski).
- Add Visual Studio 2019 to the Appveyor build matrix, nonstd lite project issue 47.
- Add badge 'on godbolt', nonstd-lite-project issue 36.
- Improve MSVC version table, nonstd-lite-project issue 38.
Fixes:
- Handle presence of various C++11 type traits (#58, thanks to @trapexit)
- Change
requires()
to use a default template argument (#55, #57, thanks to @improbablejan), see nonstd-lite-project issue 40 - Fix
optional_HAVE_INITIALIZER_LIST
is undefined #51 (#52) - Fix compilation with exceptions disabled. (#47, #49, thanks to @viettrungluu)
- Fix compilation of examples by adding CMakeLists.txt (#48, #50, thanks to @viettrungluu)
Assets 3
3.2.0
Compare
[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.
Assets 3
3.1.0
Compare
To be written
- optional_CPLUSPLUS
- Add CMake installation target (inspired on PR #30)
- Use other and value as parameter names; fix in-place type for make_optional()
- Mention expected-lite
- Make use of __has_include() more robust
- Update shared in_place facility
- Add CMake options to select between std::optional and nonstd::optional
- Add -Wsign-onversion
- Handle AppleClang C++17 compiler flag
- Correct comment
- Prevent -Wunused-function warning (inspired on PR #29)
- Prevent -Wconversion message (inspired on PR #27)
- Add -Wconversion warning
- Rename to optional_REQUIRES_A()
SFINAE on
- .._A(): method argument type
- .._T(): template argument type
- .._R(): return type
- Refine require clauses
- Add converting construction, assignment (issue #27)
- Add version to CMakeLists.txt
- Add script to update version
- Obviate need for -DNOMINMAX with MSVC (nonstd-lite issue 16)
- Fix detection of GNUC, update style for if defined()
- Expand Travis configuration
- Update lest to version 1.33.2 (issue #26)
- Change whitespace
- Getting rid of
conversion from ‘long unsigned int’ to ‘unsigned int' may change value
-messages (#25) - Getting rid of
conversion from ‘long unsigned int’ to ‘unsigned int' may change value
-messages - Update optional.hpp
- Make some rvalue qualified function to reuse lvalue versions of corresponding functions. (#21)Thanks @ngrodzitski
- Let C++ standard be specified manually via optional_CPLUSPLUS, issue #20
- Fix web links in section Notes and References
- Fix to not require empty optional for emplace
- Fix issue #18 (thanks to @rwst Ralf Stephan)
- Add test for issue #18
- Use CMAKE_CXX_STANDARD, remove c++03 target
- Add "LANGUAGES CXX" to project
- Declare stream operator before inclusion of lest test framework
- Align CMake configuration (add_library)
Assets 2
3.0.0
Compare
optional lite has been re-licensed under the Boost Software License (BSL) (issue #17).
Additions
- Made v2.3.0 available in conan (thanks to @agauniyal).
Changes
- Enabled differentiating between MSVC 14.0 (VS2015) and 14.1 (VS2017).
- Expanded Travis and Appveyor configurations.
- Renamed optional-lite to optional-main.
- Suppressed -Wundef for optional.hpp.
- Updated lest to version 1.33.1.
Fixes
- Added missing using std::nullopt_t for C++17 std::optional
- Corrected rhs to other (issue #12, thanks to @TartanLlama)
Assets 3
2.3.0
Compare
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.
Assets 2
2.2.0
Compare
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).
Assets 2
2.1.0
Compare
This release of optional lite contains the following changes.
Additions
Tests and examples can now also be build via buck (thanks to Nick La Rooy @njlr). A try it online badge has been added to the Readme.
Fixes
Issue #5 has been fixed by providing std::swap()
via header file <functional>
. Compiler selection in test/CMakeLists.txt file has been fixed.