|
template<typename T , typename... Types, std::enable_if_t<(type_sequence< Types... >::template count< T >==1), int > = 0> |
constexpr bool | holds_alternative (const variant< Types... > &v) noexcept |
|
template<std::size_t I, typename... Types> |
constexpr variant_alternative_t< I, variant< Types... > > & | get (variant< Types... > &v) |
|
template<std::size_t I, typename... Types> |
constexpr variant_alternative_t< I, variant< Types... > > && | get (variant< Types... > &&v) |
|
template<std::size_t I, typename... Types> |
constexpr const variant_alternative_t< I, variant< Types... > > & | get (const variant< Types... > &v) |
|
template<std::size_t I, typename... Types> |
constexpr const variant_alternative_t< I, variant< Types... > > && | get (const variant< Types... > &&v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr T & | get (variant< Types... > &v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr T && | get (variant< Types... > &&v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr const T & | get (const variant< Types... > &v) |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr const T && | get (const variant< Types... > &&v) |
|
template<std::size_t I, typename... Types> |
constexpr std::add_pointer_t< variant_alternative_t< I, variant< Types... > > > | get_if (variant< Types... > *pv) noexcept |
|
template<std::size_t I, typename... Types> |
constexpr std::add_pointer_t< const variant_alternative_t< I, variant< Types... > > > | get_if (const variant< Types... > *pv) noexcept |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr std::add_pointer_t< T > | get_if (variant< Types... > *pv) noexcept |
|
template<typename T , typename... Types, std::enable_if_t<(type_sequence_type_count< T, type_sequence< Types... >>::value==1), int > = 0> |
constexpr std::add_pointer_t< const T > | get_if (const variant< Types... > *pv) noexcept |
|
template<typename... Types, std::enable_if_t< conjunction< equality_comparable< Types >... >::value, int > = 0> |
constexpr bool | operator== (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< equality_comparable< Types >... >::value, int > = 0> |
constexpr bool | operator!= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator< (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator> (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator<= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types, std::enable_if_t< conjunction< totally_ordered< Types >... >::value, int > = 0> |
constexpr bool | operator>= (const variant< Types... > &v, const variant< Types... > &w) |
|
template<typename... Types> |
constexpr std::enable_if_t< conjunction< std::is_move_constructible< Types >..., is_swappable< Types >... >::value > | swap (variant< Types... > &lhs, variant< Types... > &rhs) noexcept(noexcept(lhs.swap(rhs))) |
|
template<typename R , typename Visitor , typename... Variants, std::enable_if_t< conjunction< is_invocable< detail::as_variant_niebloid, Variants >... >::value, int > = 0> |
constexpr R | visit (Visitor &&vis, Variants &&... vars) |
|
template<typename Visitor , typename... Variants, std::enable_if_t< conjunction< is_invocable< detail::as_variant_niebloid, Variants >... >::value, int > = 0> |
constexpr decltype(auto) | visit (Visitor &&vis, Variants &&... vars) |
|