|
constexpr bool | donut::operator== (Monostate, Monostate) noexcept |
| Compare two monostates for equality. More...
|
|
constexpr std::strong_ordering | donut::operator<=> (Monostate, Monostate) noexcept |
| Compare two monostates. More...
|
|
template<typename Visitor , detail::derived_from_template_specialization_of< Variant > V> |
constexpr decltype(auto) | donut::visit (Visitor &&visitor, V &&variant) |
| Call a visitor functor with the currently active underlying value of a variant. More...
|
|
template<typename T , typename... Ts> |
constexpr bool | donut::holds_alternative (const Variant< Ts... > &variant) noexcept |
| Check if a variant currently holds the alternative with the given type. More...
|
|
template<typename T , typename... Ts> |
constexpr T & | donut::get (Variant< Ts... > &variant) |
| Access the underlying value with the given type of a variant. More...
|
|
template<typename T , typename... Ts> |
constexpr const T & | donut::get (const Variant< Ts... > &variant) |
| Access the underlying value with the given type of a variant. More...
|
|
template<std::size_t Index, typename... Ts> |
constexpr variant_alternative_t< Index, Variant< Ts... > > & | donut::get (Variant< Ts... > &variant) |
| Access the underlying value with the given index of a variant. More...
|
|
template<std::size_t Index, typename... Ts> |
constexpr const variant_alternative_t< Index, Variant< Ts... > > & | donut::get (const Variant< Ts... > &variant) |
| Access the underlying value with the given index of a variant. More...
|
|
template<typename T , typename... Ts> |
constexpr T * | donut::get_if (Variant< Ts... > *variant) noexcept |
| Access the underlying value with the given type of a variant if it is the currently active alternative. More...
|
|
template<typename T , typename... Ts> |
constexpr const T * | donut::get_if (const Variant< Ts... > *variant) noexcept |
| Access the underlying value with the given type of a variant if it is the currently active alternative. More...
|
|
template<std::size_t Index, typename... Ts> |
constexpr variant_alternative_t< Index, Variant< Ts... > > * | donut::get_if (Variant< Ts... > *variant) noexcept |
| Access the underlying value with the given index of a variant if it is the currently active alternative. More...
|
|
template<std::size_t Index, typename... Ts> |
constexpr const variant_alternative_t< Index, Variant< Ts... > > * | donut::get_if (const Variant< Ts... > *variant) noexcept |
| Access the underlying value with the given index of a variant if it is the currently active alternative. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator== (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Compare two variants for equality. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator!= (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Compare two variants for inequality. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator< (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Check if a variant is less than another variant. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator<= (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Check if a variant is less than or equal to another variant. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator> (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Check if a variant is greater than another variant. More...
|
|
template<typename... Ts> |
constexpr bool | donut::operator>= (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Check if a variant is greater than or equal to another variant. More...
|
|
template<typename... Ts> |
constexpr std::common_comparison_category_t< std::compare_three_way_result_t< Ts >... > | donut::operator<=> (const Variant< Ts... > &a, const Variant< Ts... > &b) |
| Compare two variants. More...
|
|
template<typename V > |
constexpr detail::Matcher< V > | donut::match (V &&variant) |
| Choose a function overload to execute based on the active alternative of a variant. More...
|
|