#include "absl/base/config.h"#include "absl/utility/utility.h"#include <functional>#include <new>#include <type_traits>#include <utility>#include "absl/base/macros.h"#include "absl/base/port.h"#include "absl/meta/type_traits.h"#include "absl/types/internal/variant.h"

Go to the source code of this file.
Classes | |
| struct | absl::variant_internal::ConversionVisitor< To > |
| struct | std::hash< absl::monostate > |
| struct | std::hash< absl::variant< T...> > |
| struct | absl::monostate |
| class | absl::variant< T0, Tn...> |
| struct | absl::variant_alternative< I, const T > |
| struct | absl::variant_alternative< I, const volatile T > |
| struct | absl::variant_alternative< I, variant< Types...> > |
| struct | absl::variant_alternative< I, volatile T > |
| struct | absl::variant_size< const T > |
| struct | absl::variant_size< const volatile T > |
| struct | absl::variant_size< variant< Ts...> > |
| struct | absl::variant_size< volatile T > |
Namespaces | |
| namespace | absl |
| namespace | absl::variant_internal |
| namespace | std |
Functions | |
| template<typename To , typename Variant > | |
| To | absl::ConvertVariantTo (Variant &&variant) |
| template<class T , class... Types> | |
| constexpr T & | absl::get (variant< Types...> &v) |
| template<class T , class... Types> | |
| constexpr T && | absl::get (variant< Types...> &&v) |
| template<class T , class... Types> | |
| constexpr const T & | absl::get (const variant< Types...> &v) |
| template<class T , class... Types> | |
| constexpr const T && | absl::get (const variant< Types...> &&v) |
| template<std::size_t I, class... Types> | |
| constexpr absl::add_pointer_t < variant_alternative_t< I, variant< Types...> > > | absl::get_if (variant< Types...> *v) noexcept |
| template<std::size_t I, class... Types> | |
| constexpr absl::add_pointer_t < const variant_alternative_t < I, variant< Types...> > > | absl::get_if (const variant< Types...> *v) noexcept |
| template<class T , class... Types> | |
| constexpr bool | absl::holds_alternative (const variant< Types...> &v) noexcept |
| constexpr bool | absl::operator!= (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveNotEqualT < Types...> | absl::operator!= (const variant< Types...> &a, const variant< Types...> &b) |
| constexpr bool | absl::operator< (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveLessThanT < Types...> | absl::operator< (const variant< Types...> &a, const variant< Types...> &b) |
| constexpr bool | absl::operator<= (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveLessThanOrEqualT < Types...> | absl::operator<= (const variant< Types...> &a, const variant< Types...> &b) |
| constexpr bool | absl::operator== (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveEqualT < Types...> | absl::operator== (const variant< Types...> &a, const variant< Types...> &b) |
| constexpr bool | absl::operator> (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveGreaterThanT < Types...> | absl::operator> (const variant< Types...> &a, const variant< Types...> &b) |
| constexpr bool | absl::operator>= (monostate, monostate) noexcept |
| template<typename... Types> | |
| constexpr variant_internal::RequireAllHaveGreaterThanOrEqualT < Types...> | absl::operator>= (const variant< Types...> &a, const variant< Types...> &b) |
| template<typename... Ts, absl::enable_if_t< absl::conjunction< std::is_move_constructible< Ts >..., type_traits_internal::IsSwappable< Ts >...>::value, int > = 0> | |
| void | absl::swap (variant< Ts...> &v, variant< Ts...> &w) noexcept(noexcept(v.swap(w))) |
| template<typename Visitor , typename... Variants> | |
| variant_internal::VisitResult < Visitor, Variants...> | absl::visit (Visitor &&vis, Variants &&...vars) |