|
template<typename Visitor , typename Variant > |
auto | VisitHelperBad (Visitor &&, Variant &&) -> typename VisitHelperReturn< Visitor &&, Variant && >::type |
| Help to define Visit() below. More...
|
|
template<size_t Index, typename Visitor , typename Variant > |
decltype(auto) | VisitHelperFunction (Visitor &&vis, Variant &&var) |
| Help to define Visit() below. More...
|
|
template<size_t Index, typename Visitor , typename Variant > |
auto | TypeCheckedVisitHelperFunction (Visitor &&vis, Variant &&var) -> typename VisitHelperReturn< Visitor &&, Variant && >::type |
| Help to define Visit() below. More...
|
|
template<size_t... Indices, typename Visitor , typename Variant > |
decltype(auto) | VisitHelper (std::index_sequence< Indices... >, Visitor &&vis, Variant &&var) |
| Help to define Visit() below. More...
|
|
auto | deduce_variant (...) -> void |
| Unevaluated. More...
|
|
template<typename... Types> |
auto | deduce_variant (std::variant< Types... > &v) -> type_identity< std::remove_reference_t< decltype(v)> > |
|
template<typename... Types> |
auto | deduce_variant (std::variant< Types... > &&v) -> type_identity< std::remove_reference_t< decltype(v)> > |
|
template<typename... Types> |
auto | deduce_variant (const std::variant< Types... > &v) -> type_identity< std::remove_reference_t< decltype(v)> > |
|
template<typename... Types> |
auto | deduce_variant (const std::variant< Types... > &&v) -> type_identity< std::remove_reference_t< decltype(v)> > |
|
template<typename ForwardType , typename Variant > |
decltype(auto) | forward_variant (Variant &var) |
|
template<typename ForwardType , typename Variant > |
decltype(auto) | forward_variant (const Variant &var) |
|
template<size_t... Indices, typename Visitor , typename Variant >
decltype(auto) Variant::detail::VisitHelper |
( |
std::index_sequence< Indices... > |
, |
|
|
Visitor && |
vis, |
|
|
Variant && |
var |
|
) |
| |
Help to define Visit() below.
Definition at line 85 of file Variant.h.
86{
87 constexpr auto size =
sizeof...(Indices);
89 using Function = Return(*)(Visitor&&,
Variant&&);
90 static constexpr std::array<Function, size + 1> jumpTable{
91 TypeCheckedVisitHelperFunction<Indices>...,
93 };
95 return function(std::forward<Visitor>(vis), std::forward<Variant>(var));
96}
auto VisitHelperBad(Visitor &&, Variant &&) -> typename VisitHelperReturn< Visitor &&, Variant && >::type
Help to define Visit() below.
References min(), size, and VisitHelperBad().
Referenced by Variant::Visit().