Classes |
struct | AccessedType |
struct | AccessedType< SimpleArray< T, Size > > |
struct | ConversionIsPossible |
struct | ConversionIsPossibleImpl |
struct | ConversionIsPossibleImpl< Variant, T, void_t< decltype(ImaginaryFun< Variant >::Run(std::declval< T >()))> > |
struct | ConversionVisitor |
struct | FlattenIndices< HeadSize, TailSize...> |
struct | FlattenIndices<> |
struct | GiveQualsTo< const T &&, U > |
struct | GiveQualsTo< const T &, U > |
struct | GiveQualsTo< T &&, U > |
struct | GiveQualsTo< T &, U > |
struct | GiveQualsTo< volatile const T &&, U > |
struct | GiveQualsTo< volatile const T &, U > |
struct | GiveQualsTo< volatile T &&, U > |
struct | GiveQualsTo< volatile T &, U > |
struct | ImaginaryFun< variant< H, T...>, I > |
struct | ImaginaryFun< variant<>, I > |
struct | IndexOfConstructedType |
struct | IndexOfConstructedType< Variant, T, void_t< decltype(ImaginaryFun< Variant >::Run(std::declval< T >()))> > |
struct | IndexOfImpl< Expected > |
struct | IndexOfImpl< Expected, Expected, Tail...> |
struct | IndexOfImpl< Expected, Head, Tail...> |
struct | IndexOfMeta |
struct | IsNeitherSelfNorInPlace |
struct | IsNeitherSelfNorInPlace< Self, in_place_index_t< I > > |
struct | IsNeitherSelfNorInPlace< Self, in_place_type_t< T > > |
struct | IsNeitherSelfNorInPlace< Self, Self > |
struct | MakeVisitationMatrix< ReturnType, FunctionObject, index_sequence< HeadEndIndex, TailEndIndices...>, BoundIndices...> |
struct | MakeVisitationMatrix< ReturnType, FunctionObject, index_sequence<>, BoundIndices...> |
struct | MakeVisitationMatrixImpl< ReturnType, FunctionObject, index_sequence< EndIndices...>, index_sequence< CurrIndices...>, BoundIndices...> |
struct | NoMatch |
struct | NumCasesOfSwitch< HeadNumAlternatives, TailNumAlternatives...> |
struct | NumCasesOfSwitch<> |
struct | PickCaseImpl |
struct | PickCaseImpl< true > |
struct | ReachableSwitchCase |
struct | SimpleArray |
struct | UnambiguousIndexOf< variant< Alts...>, T > |
struct | UnambiguousIndexOfImpl< variant< Head, Tail...>, Head, CurrIndex > |
struct | UnambiguousIndexOfImpl< variant< Head, Tail...>, T, CurrIndex > |
struct | UnambiguousIndexOfImpl< variant<>, T, CurrIndex > |
struct | UnflattenIndex |
struct | UnflattenIndex< I, 0, HeadSize, TailSize...> |
struct | UnreachableSwitchCase |
struct | VariantAccessResultImpl< I, const Variantemplate< T...> & > |
struct | VariantAccessResultImpl< I, const Variantemplate< T...> && > |
struct | VariantAccessResultImpl< I, Variantemplate< T...> & > |
struct | VariantAccessResultImpl< I, Variantemplate< T...> && > |
struct | VariantAlternativeSfinae |
struct | VariantAlternativeSfinae< 0, variant< T0, Ts...> > |
struct | VariantAlternativeSfinae< I, variant< T0, Tn...> > |
struct | VariantCoreAccess |
struct | VisitIndices |
struct | VisitIndices< EndIndex > |
struct | VisitIndicesFallback |
struct | VisitIndicesResultImpl |
struct | VisitIndicesSwitch |
struct | VisitIndicesVariadic |
struct | VisitIndicesVariadicImpl< absl::index_sequence< N...>, EndIndices...> |
Functions |
| ABSL_INTERNAL_INLINE_CONSTEXPR (std::size_t, MaxUnrolledVisitCases, 33) |
template<class T > |
constexpr T | AccessSimpleArray (const T &value) |
template<class T , std::size_t Size, class... SizeT> |
constexpr AccessedTypeT< T > | AccessSimpleArray (const SimpleArray< T, Size > &table, std::size_t head_index, SizeT...tail_indices) |
template<class Self , std::size_t I> |
VariantAccessResult< I, Self > | AccessUnion (Self &&self, SizeT< I >) |
template<class ReturnType , class FunctionObject , std::size_t... Indices> |
constexpr ReturnType | call_with_indices (FunctionObject &&function) |
template<class T > |
void | DeducedDestroy (T &self) |
void | Rethrow () |
void | ThrowBadVariantAccess () |
template<class ReturnType > |
ReturnType | TypedThrowBadVariantAccess () |