C++ Library Extensions 2022.12.09
To help learn modern C++ programming
tpf::types::overloaded< VisitorTypes > Struct Template Reference
Inheritance diagram for tpf::types::overloaded< VisitorTypes >:
[legend]
Collaboration diagram for tpf::types::overloaded< VisitorTypes >:
[legend]

Public Types

using vistors_t = std::tuple< VisitorTypes... >
 
using vistors_t = std::tuple< VisitorTypes... >
 
using vistors_t = std::tuple< VisitorTypes... >
 
using vistors_t = std::tuple< VisitorTypes... >
 

Public Member Functions

 overloaded (VisitorTypes... visitors)
 
template<typename ContainerType >
void for_each (ContainerType &&container)
 
template<typename VariantType >
enable_if_variant_t< VariantType > operator() (VariantType &&vt) const
 
template<typename PairType >
enable_if_pair_of_variant_t< PairType > operator() (PairType &&vt)
 
 overloaded (VisitorTypes... visitors)
 
 overloaded (VisitorTypes... visitors)
 
template<typename ContainerType >
void for_each (ContainerType &&container)
 
 overloaded (VisitorTypes... visitors)
 
template<typename ContainerType >
void for_each (ContainerType &&container)
 
 overloaded (VisitorTypes... visitors)
 
template<typename ContainerType >
void for_each (ContainerType &&container)
 
template<typename VariantType >
enable_if_variant_t< VariantType > operator() (VariantType &&vt)
 
template<typename PairType >
enable_if_pair_of_variant_t< PairType > operator() (PairType &&pvt)
 

Public Attributes

vistors_t m_visitors
 

Detailed Description

template<typename... VisitorTypes>
struct tpf::types::overloaded< VisitorTypes >

Definition at line 146 of file 31-visit.cpp.

Member Typedef Documentation

◆ vistors_t [1/4]

template<typename... VisitorTypes>
using tpf::types::overloaded< VisitorTypes >::vistors_t = std::tuple<VisitorTypes...>

Definition at line 148 of file 31-visit.cpp.

◆ vistors_t [2/4]

template<typename... VisitorTypes>
using tpf::types::overloaded< VisitorTypes >::vistors_t = std::tuple<VisitorTypes...>

Definition at line 48 of file 29-visit.cpp.

◆ vistors_t [3/4]

template<typename... VisitorTypes>
using tpf::types::overloaded< VisitorTypes >::vistors_t = std::tuple<VisitorTypes...>

Definition at line 128 of file 30-visit.cpp.

◆ vistors_t [4/4]

template<typename... VisitorTypes>
using tpf::types::overloaded< VisitorTypes >::vistors_t = std::tuple<VisitorTypes...>

Definition at line 147 of file 31-visit.cpp.

Constructor & Destructor Documentation

◆ overloaded() [1/5]

template<typename... VisitorTypes>
tpf::types::overloaded< VisitorTypes >::overloaded ( VisitorTypes...  visitors)
inline

Definition at line 152 of file 31-visit.cpp.

◆ overloaded() [2/5]

template<typename... VisitorTypes>
tpf::types::overloaded< VisitorTypes >::overloaded ( VisitorTypes...  visitors)
inline

Definition at line 49 of file 28-visit.cpp.

◆ overloaded() [3/5]

template<typename... VisitorTypes>
tpf::types::overloaded< VisitorTypes >::overloaded ( VisitorTypes...  visitors)
inline

Definition at line 52 of file 29-visit.cpp.

◆ overloaded() [4/5]

template<typename... VisitorTypes>
tpf::types::overloaded< VisitorTypes >::overloaded ( VisitorTypes...  visitors)
inline

Definition at line 132 of file 30-visit.cpp.

◆ overloaded() [5/5]

template<typename... VisitorTypes>
tpf::types::overloaded< VisitorTypes >::overloaded ( VisitorTypes...  visitors)
inline

Definition at line 151 of file 31-visit.cpp.

Member Function Documentation

◆ for_each() [1/4]

template<typename... VisitorTypes>
template<typename ContainerType >
void tpf::types::overloaded< VisitorTypes >::for_each ( ContainerType &&  container)
inline

Definition at line 156 of file 31-visit.cpp.

Here is the call graph for this function:

◆ for_each() [2/4]

template<typename... VisitorTypes>
template<typename ContainerType >
void tpf::types::overloaded< VisitorTypes >::for_each ( ContainerType &&  container)
inline

Definition at line 56 of file 29-visit.cpp.

Here is the call graph for this function:

◆ for_each() [3/4]

template<typename... VisitorTypes>
template<typename ContainerType >
void tpf::types::overloaded< VisitorTypes >::for_each ( ContainerType &&  container)
inline

Definition at line 136 of file 30-visit.cpp.

Here is the call graph for this function:

◆ for_each() [4/4]

template<typename... VisitorTypes>
template<typename ContainerType >
void tpf::types::overloaded< VisitorTypes >::for_each ( ContainerType &&  container)
inline

Definition at line 155 of file 31-visit.cpp.

Here is the call graph for this function:

◆ operator()() [1/4]

template<typename... VisitorTypes>
template<typename PairType >
enable_if_pair_of_variant_t< PairType > tpf::types::overloaded< VisitorTypes >::operator() ( PairType &&  pvt)
inline

Definition at line 173 of file 31-visit.cpp.

Here is the call graph for this function:

◆ operator()() [2/4]

template<typename... VisitorTypes>
template<typename PairType >
enable_if_pair_of_variant_t< PairType > tpf::types::overloaded< VisitorTypes >::operator() ( PairType &&  vt)
inline

Definition at line 174 of file 31-visit.cpp.

Here is the call graph for this function:

◆ operator()() [3/4]

template<typename... VisitorTypes>
template<typename VariantType >
enable_if_variant_t< VariantType > tpf::types::overloaded< VisitorTypes >::operator() ( VariantType &&  vt)
inline

Definition at line 166 of file 31-visit.cpp.

Here is the call graph for this function:

◆ operator()() [4/4]

template<typename... VisitorTypes>
template<typename VariantType >
enable_if_variant_t< VariantType > tpf::types::overloaded< VisitorTypes >::operator() ( VariantType &&  vt) const
inline

Definition at line 167 of file 31-visit.cpp.

Here is the call graph for this function:

Member Data Documentation

◆ m_visitors

template<typename... VisitorTypes>
vistors_t tpf::types::overloaded< VisitorTypes >::m_visitors

Definition at line 150 of file 31-visit.cpp.


The documentation for this struct was generated from the following files: