Provides static methods that implement object type getters. This is a static type with no instance services. You should never create instances of it by any means. More...

Inherited by System::ObjectExt.

Public Member Functions

template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for uint8_t. More...
 
template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for char16_t. More...
 
template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for int32_t. More...
 
template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for int64_t. More...
 
template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for bool. More...
 
template<>
const System::TypeInfoGetType ()
 Implements typeof() translation. Overload for Void. More...
 

Static Public Member Functions

template<typename T >
static std::enable_if< IsSmartPtr< T >::value, const System::TypeInfo & >::type GetType (const T &obj)
 Implements typeof() translation. Overload for smart pointers. More...
 
template<typename T >
static std::enable_if<!IsExceptionWrapper< T >::value &&!IsSmartPtr< T >::value &&!std::is_fundamental< T >::value &&!std::is_enum< T >::value &&!IsNullable< T >::value, const System::TypeInfo & >::type GetType (const T &obj)
 Implements typeof() translation. Overload for structures. More...
 
template<typename T >
static std::enable_if< IsExceptionWrapper< T >::value, const System::TypeInfo & >::type GetType (const T &obj)
 Implements typeof() translation. Overload for exceptions. More...
 
template<typename T >
static std::enable_if< std::is_fundamental< T >::value||std::is_enum< T >::value, const System::TypeInfo & >::type GetType (const T obj)
 Implements typeof() translation. Overload for primitive types. More...
 
template<typename T >
static std::enable_if< IsNullable< T >::value, const System::TypeInfo & >::type GetType (const T obj)
 Implements typeof() translation. Overload for Nullable types. More...
 
template<typename T >
static std::enable_if< std::is_fundamental< T >::value &&!std::is_enum< T >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for primitive types. More...
 
template<typename T >
static std::enable_if< std::is_enum< T >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for enum types. More...
 
template<typename T >
static std::enable_if<(!std::is_fundamental< T >::value &&!std::is_enum< T >::value &&!IsBoxable< T >::value)||IsExceptionWrapper< T >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for structures and pointers. More...
 
template<typename T >
static std::enable_if< IsNullable< T >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for Nullable. More...
 
template<typename T >
static std::enable_if< detail::is_a< T, MulticastDelegate >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for MutlicastDelegate. More...
 
template<typename T >
static std::enable_if< !std::is_fundamental< T >::value &&!std::is_enum< T >::value &&IsBoxable< T >::value &&!detail::is_a< T, MulticastDelegate >::value &&!IsNullable< T >::value, const System::TypeInfo & >::type GetType ()
 Implements typeof() translation. Overload for structures and pointers. More...
 
static const System::TypeInfoGetType (const String &obj)
 Implements typeof() translation. Overload for string type. More...
 

Detailed Description

Provides static methods that implement object type getters. This is a static type with no instance services. You should never create instances of it by any means.

Member Function Documentation

◆ GetType() [1/18]

template<typename T >
static std::enable_if<IsSmartPtr<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( const T &  obj)
inlinestatic

Implements typeof() translation. Overload for smart pointers.

Template Parameters
TPointer object type.
Parameters
objObject to get TypeInfo for.
Returns
Const reference to TypeInfo structure describing the final class of object passed.

◆ GetType() [2/18]

template<typename T >
static std::enable_if<!IsExceptionWrapper<T>::value && !IsSmartPtr<T>::value && !std::is_fundamental<T>::value && !std::is_enum<T>::value && !IsNullable<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( const T &  obj)
inlinestatic

Implements typeof() translation. Overload for structures.

Template Parameters
TStructure type.
Parameters
objObject to get TypeInfo for.
Returns
Const reference to TypeInfo structure describing the final class of object passed.

◆ GetType() [3/18]

template<typename T >
static std::enable_if<IsExceptionWrapper<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( const T &  obj)
inlinestatic

Implements typeof() translation. Overload for exceptions.

Template Parameters
TException type.
Parameters
objObject to get TypeInfo for.
Returns
Const reference to TypeInfo structure describing the final class of object passed.

◆ GetType() [4/18]

template<typename T >
static std::enable_if<std::is_fundamental<T>::value || std::is_enum<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( const T  obj)
inlinestatic

Implements typeof() translation. Overload for primitive types.

Template Parameters
TPrimitive type.
Parameters
objIGNORED
Returns
Const reference to TypeInfo structure describing the type of object passed.

◆ GetType() [5/18]

template<typename T >
static std::enable_if<IsNullable<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( const T  obj)
inlinestatic

Implements typeof() translation. Overload for Nullable types.

Template Parameters
TNullable type.
Parameters
objIGNORED
Returns
Const reference to TypeInfo structure describing the type of object passed.

◆ GetType() [6/18]

template<typename T >
static std::enable_if<std::is_fundamental<T>::value && !std::is_enum<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for primitive types.

Template Parameters
TPrimitive type.
Returns
Const reference to TypeInfo structure describing the type specified.

◆ GetType() [7/18]

template<typename T >
static std::enable_if<std::is_enum<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for enum types.

Template Parameters
TPrimitive type.
Returns
Const reference to TypeInfo structure describing the type specified.

◆ GetType() [8/18]

template<typename T >
static std::enable_if<(!std::is_fundamental<T>::value && !std::is_enum<T>::value && !IsBoxable<T>::value) || IsExceptionWrapper<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for structures and pointers.

Template Parameters
TPrimitive type.
Returns
Const reference to TypeInfo structure describing the strcture specified.

◆ GetType() [9/18]

template<typename T >
static std::enable_if<IsNullable<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for Nullable.

Template Parameters
TNullable type.
Returns
Const reference to TypeInfo structure describing the strcture specified.

◆ GetType() [10/18]

template<typename T >
static std::enable_if<detail::is_a<T, MulticastDelegate>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for MutlicastDelegate.

Template Parameters
TMutlicastDelegate type.
Returns
Const reference to TypeInfo structure describing the strcture specified.

◆ GetType() [11/18]

template<typename T >
static std::enable_if< !std::is_fundamental<T>::value && !std::is_enum<T>::value && IsBoxable<T>::value && !detail::is_a<T, MulticastDelegate>::value && !IsNullable<T>::value, const System::TypeInfo&>::type System::ObjectType::GetType ( )
inlinestatic

Implements typeof() translation. Overload for structures and pointers.

Template Parameters
TPrimitive type.
Returns
Const reference to TypeInfo structure describing the strcture specified or pointee type if called for SmartPtr.

◆ GetType() [12/18]

static const System::TypeInfo& System::ObjectType::GetType ( const String obj)
inlinestatic

Implements typeof() translation. Overload for string type.

Template Parameters
TPrimitive type.
Returns
Const reference to TypeInfo structure describing String type.

◆ GetType() [13/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for uint8_t.

◆ GetType() [14/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for char16_t.

◆ GetType() [15/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for int32_t.

◆ GetType() [16/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for int64_t.

◆ GetType() [17/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for bool.

◆ GetType() [18/18]

template<>
const System::TypeInfo& System::ObjectType::GetType ( )
inline

Implements typeof() translation. Overload for Void.