Skip to content

v1.1.0

Compare
Choose a tag to compare
@Sedeniono Sedeniono released this 07 May 13:39
· 44 commits to main since this release

Major changes:

  • Introduced customization point tiny::optional_flag_manipulator, which allows the user to teach tiny::optional<PayloadType> about a custom "flag manipulator" for some custom type PayloadType. If available, tiny::optional<PayloadType> will always have the same size as the PayloadType. Hence, to support custom types, it is no longer necessary to use tiny::optional_inplace (although still possible). See the readme for more information. This has been suggested in issue #3.
  • Breaking Change in the API of tiny::optional_inplace: The flag manipulator's functions were renamed from IsEmpty(), InitializeIsEmptyFlag() and PrepareIsEmptyFlagForPayload() to is_empty(), init_empty_flag() and invalidate_empty_flag(). This was done to make the naming more consistent (since the whole public API uses snake_case names because std::optional does). Their arguments, return values or semantics did not change.

Full Changelog: v1.0.0...v1.1.0