#include <cassert>
#include <cstddef>
#include <cstdlib>
#include <memory>
#include <stdexcept>
#include <tuple>
#include <type_traits>
#include "absl/base/config.h"
#include "absl/base/internal/identity.h"
#include "absl/base/internal/inline_variable.h"
#include "absl/base/internal/invoke.h"
#include "absl/base/macros.h"
#include "absl/base/optimization.h"
#include "absl/meta/type_traits.h"
#include "absl/types/bad_variant_access.h"
#include "absl/utility/utility.h"
Go to the source code of this file.
Namespaces | |
absl | |
absl::variant_internal | |
Typedefs | |
template<class T > | |
using | absl::variant_internal::AccessedTypeT = typename AccessedType< T >::type |
template<class T > | |
using | absl::variant_internal::AlwaysZero = SizeT< 0 > |
template<class T , class U > | |
using | absl::variant_internal::GiveQualsToT = typename GiveQualsTo< T, U >::type |
template<class Expected , class... Types> | |
using | absl::variant_internal::IndexOf = typename IndexOfMeta< Expected, Types... >::type |
using | absl::variant_internal::NPos = SizeT< variant_npos > |
template<class Op , std::size_t I, std::size_t EndIndex> | |
using | absl::variant_internal::PickCase = typename PickCaseImpl<(I< EndIndex)>::template Apply< Op, I > |
template<std::size_t I> | |
using | absl::variant_internal::SizeT = std::integral_constant< std::size_t, I > |
template<class T , std::size_t > | |
using | absl::variant_internal::UnambiguousTypeOfImpl = T |
template<class Variant , class T > | |
using | absl::variant_internal::UnambiguousTypeOfT = UnambiguousTypeOfImpl< T, UnambiguousIndexOf< Variant, T >::value > |
template<std::size_t I, class Variant > | |
using | absl::variant_internal::VariantAccessResult = typename VariantAccessResultImpl< I, Variant && >::type |
template<std::size_t I, class T > | |
using | absl::variant_internal::VariantAlternativeSfinaeT = typename VariantAlternativeSfinae< I, T >::type |
template<class Op , class... Vs> | |
using | absl::variant_internal::VisitIndicesResultT = typename VisitIndicesResultImpl< Op, Vs... >::type |
Functions | |
absl::ABSL_INTERNAL_INLINE_CONSTEXPR (size_t, variant_npos, -1) | |
absl::variant_internal::ABSL_INTERNAL_INLINE_CONSTEXPR (std::size_t, MaxUnrolledVisitCases, 33) | |
template<class T > | |
constexpr T | absl::variant_internal::AccessSimpleArray (const T &value) |
template<class T , std::size_t Size, class... SizeT> | |
constexpr AccessedTypeT< T > | absl::variant_internal::AccessSimpleArray (const SimpleArray< T, Size > &table, std::size_t head_index, SizeT... tail_indices) |
template<class Self , std::size_t I> | |
VariantAccessResult< I, Self > | absl::variant_internal::AccessUnion (Self &&self, SizeT< I >) |
template<class ReturnType , class FunctionObject , std::size_t... Indices> | |
constexpr ReturnType | absl::variant_internal::call_with_indices (FunctionObject &&function) |
template<class T > | |
void | absl::variant_internal::DeducedDestroy (T &self) |
template<class ReturnType > | |
ReturnType | absl::variant_internal::TypedThrowBadVariantAccess () |