v1.3.0
Major changes:
- Allow disabling all functionality that relies on undefined behavior (i.e. exploitation of unused bit patterns and storing the empty state in a member variable) by defining
TINY_OPTIONAL_USE_SEPARATE_BOOL_INSTEAD_OF_UB_TRICKS
. This allows using the other parts of the library (custom sentinel; custom specializations oftiny::optional_flag_manipulator
) on non-x86/x64 platforms. Updated the README to document this configuration option. - Added
TINY_OPTIONAL_VERSION
, which is a preprocessor macro that specifies the version of the library. See its definition intiny/optional.h
for more information. - Actively prevent mixing of different versions or configurations. It could lead to all sorts of problems. This is done by defining the types in an inline namespace whose name contains the version number and the configuration.
Full Changelog: v1.2.1...v1.3.0