Web Analytics Made Easy - Statcounter
Skip to content

File SBCMetaDecomposeType.hpp#

FileList > Core > Meta > SBCMetaDecomposeType.hpp

  • #include "SBCMetaMacros.hpp"
  • #include "SBCMetaIsFundamentalType.hpp"
  • #include "SBCMetaIsRegisteredType.hpp"
  • #include <sstream>
  • #include <iostream>
  • #include <vector>

Classes#

Type Name
class SBCMetaDecomposeType <typename T>
class SBCMetaDecomposeType< Output()> <typename Output>
class SBCMetaDecomposeType< Output(*)()> <typename Output>
class SBCMetaDecomposeType< Output(*)(T0)> <typename Output, typename T0>
class SBCMetaDecomposeType< Output(*)(T0, T1)> <typename Output, typename T0, typename T1>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2)> <typename Output, typename T0, typename T1, typename T2>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3)> <typename Output, typename T0, typename T1, typename T2, typename T3>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
class SBCMetaDecomposeType< Output(*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
class SBCMetaDecomposeType< Output(Class::*)() const > <typename Output, typename Class>
class SBCMetaDecomposeType< Output(Class::*)()> <typename Output, typename Class>
class SBCMetaDecomposeType< Output(Class::*)(T0) const > <typename Output, typename Class, typename T0>
class SBCMetaDecomposeType< Output(Class::*)(T0)> <typename Output, typename Class, typename T0>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1) const > <typename Output, typename Class, typename T0, typename T1>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1)> <typename Output, typename Class, typename T0, typename T1>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2) const > <typename Output, typename Class, typename T0, typename T1, typename T2>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2)> <typename Output, typename Class, typename T0, typename T1, typename T2>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15) const > <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
class SBCMetaDecomposeType< Output(Class::*)(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> <typename Output, typename Class, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
class SBCMetaDecomposeType< Output(T0)> <typename Output, typename T0>
class SBCMetaDecomposeType< Output(T0, T1)> <typename Output, typename T0, typename T1>
class SBCMetaDecomposeType< Output(T0, T1, T2)> <typename Output, typename T0, typename T1, typename T2>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3)> <typename Output, typename T0, typename T1, typename T2, typename T3>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14>
class SBCMetaDecomposeType< Output(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)> <typename Output, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename T13, typename T14, typename T15>
class SBCMetaDecomposeType< T & > <typename T>
class SBCMetaDecomposeType< T * > <typename T>
class SBCMetaDecomposeType< T Class::* > <typename T, typename Class>
class SBCMetaDecomposeType< T[N]> <typename T, N>
class SBCMetaDecomposeType< T[]> <typename T>
class SBCMetaDecomposeType< const T > <typename T>
class SBCMetaDecomposeType< const volatile T > <typename T>
class SBCMetaDecomposeType< typename std::vector< T > * > <typename T>
class SBCMetaDecomposeType< typename std::vector< T > > <typename T>
class SBCMetaDecomposeType< volatile T > <typename T>

Macros#

Type Name
define SB_MAKE_DECOMPOSE_FUNCTION_TEMPLATE (N)
define SB_MAKE_DECOMPOSE_POINTER_TO_FUNCTION_TEMPLATE (N)
define SB_MAKE_DECOMPOSE_POINTER_TO_MEMBER_FUNCTION_TEMPLATE (N)

Macro Definition Documentation#

define SB_MAKE_DECOMPOSE_FUNCTION_TEMPLATE#

#define SB_MAKE_DECOMPOSE_FUNCTION_TEMPLATE (
    N
) 

define SB_MAKE_DECOMPOSE_POINTER_TO_FUNCTION_TEMPLATE#

#define SB_MAKE_DECOMPOSE_POINTER_TO_FUNCTION_TEMPLATE (
    N
) 

define SB_MAKE_DECOMPOSE_POINTER_TO_MEMBER_FUNCTION_TEMPLATE#

#define SB_MAKE_DECOMPOSE_POINTER_TO_MEMBER_FUNCTION_TEMPLATE (
    N
)