nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 > Struct Template Reference

#include <ndn-cxx/util/nonstd/variant.hpp>

Public Types

typedef signed char type_index_t
 
typedef detail::typelist< T0, detail::typelist< T1, detail::typelist< T2, detail::typelist< T3, detail::typelist< T4, detail::typelist< T5, detail::typelist< T6, detail::typelist< T7, detail::typelist< T8, detail::typelist< T9, detail::typelist< T10, detail::typelist< T11, detail::typelist< T12, detail::typelist< T13, detail::typelist< T14, detail::typelist< T15, detail::nulltype > > > > > > > > > > > > > > > > variant_types
 

Static Public Member Functions

template<class U >
static U * as (void *data)
 
template<class U >
static U const * as (void const *data)
 
static type_index_t copy_assign (type_index_t const from_index, const void *from_value, void *to_value)
 
static type_index_t copy_construct (type_index_t const from_index, const void *from_value, void *to_value)
 
static void destroy (type_index_t index, void *data)
 
static type_index_t to_index_t (std::size_t index)
 

Detailed Description

template<class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class T11, class T12, class T13, class T14, class T15>
struct nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >

Definition at line 927 of file variant.hpp.

Member Typedef Documentation

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
typedef signed char nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::type_index_t

Definition at line 929 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
typedef detail::typelist< T0 , detail::typelist< T1 , detail::typelist< T2 , detail::typelist< T3 , detail::typelist< T4 , detail::typelist< T5 , detail::typelist< T6 , detail::typelist< T7 , detail::typelist< T8 , detail::typelist< T9 , detail::typelist< T10 , detail::typelist< T11 , detail::typelist< T12 , detail::typelist< T13 , detail::typelist< T14 , detail::typelist< T15 , detail::nulltype > > > > > > > > > > > > > > > > nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::variant_types

Definition at line 930 of file variant.hpp.

Member Function Documentation

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
template<class U >
static U* nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::as ( void *  data)
inlinestatic

Definition at line 933 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
template<class U >
static U const* nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::as ( void const *  data)
inlinestatic

Definition at line 939 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
static type_index_t nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::copy_assign ( type_index_t const  from_index,
const void *  from_value,
void *  to_value 
)
inlinestatic

Definition at line 1068 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
static type_index_t nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::copy_construct ( type_index_t const  from_index,
const void *  from_value,
void *  to_value 
)
inlinestatic

Definition at line 1043 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
static void nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::destroy ( type_index_t  index,
void *  data 
)
inlinestatic

Definition at line 949 of file variant.hpp.

template<class T0 , class T1 , class T2 , class T3 , class T4 , class T5 , class T6 , class T7 , class T8 , class T9 , class T10 , class T11 , class T12 , class T13 , class T14 , class T15 >
static type_index_t nonstd::variants::detail::helper< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >::to_index_t ( std::size_t  index)
inlinestatic

Definition at line 944 of file variant.hpp.