- Minimum CMake version is now 3.5 (#156).
- Better module support (#151).
- Prevent dangling double-wrapping of
function_ref(#154). - Use EBO for
strong_typedefon MSVC (#159). - Add
flag_set::from_int(#161).
- Enable the use of
import std(#141, #147). - Make
strong_typedefstructural so it can be used as NTTP (#126). - Add safe integer comparisons (#134).
- Enable EBO on MSVC (#128).
- Various bugfixes and CMake improvements (#132, #133, #137, #139, #143, #146, #148).
- Replace
TYPE_SAFE_ARITHMETIC_UBCMake option byTYPE_SAFE_ARITHMETIC_POLICYto enable checked arithmetic by default (#106) - Be less strict in the signed/unsigned conversion of
integer(#104) - Various bugfixes (#97, #108, #111, #115)
This release is mainly bugfixes:
- Added
explicit_boolstrong typedef - Fixed forwarding bug in
with()ofarray_ref - Silenced some warnings
- Improved CMake configuration
This release took a long time, so here are just the most important changes.
- Added
downcast()utility function - Fixed GCC 4.8 and clang support
- Improved documentation
- Improved CMake and added Conan support
- Hashing support for
boolean,integer,floating_pointandstrong_typedef
- Added
object_ref<T>and andxvalue_ref<T> - Added
array_ref<T> - Added
function_ref<T> - Added
flag_set<T> - Breaking: renamed
distance_ttodifference_t - Improved
index_tanddifference_t
- Breaking:
optionalnow auto-unwraps, removedunwrap()function - Breaking:
optional_refcreation function nowopt_ref()instead ofref(), but more than before - Breaking: Removed
optional_ref<T>::value_or() - Added
optional_for<T>utility typedef - Added support for additional parameters to
with()and make it more optimizer friendly - Added
with()fortagged_union - Improved map functions: additional arguments, member function pointers,
voidreturning function objects - Bugfix for trivial variant copy/move/destroy
- Added pointer like access to
constrained_type - Added
constrained_ref - Added
throwing_verifierforconstrained_refalong withsanitize()helper functions - Added literal operator to create a static bound of
bounded_type - Added bitwise operators for
strong_typedef - Added
constexprsupport tostrong_typedef - Added support for mixed operators in
strong_typedef - Made
constrained_typeconstexpr - Fixed strong typedef
get()for rvalues
Thanks to @johelgp, @xtofl, @nicola-gigante, @BRevzin, @verri, @lisongmin, @Manu343726, @MandarJKulkarni, @gerboengels.