8 #include "Arp/System/Core/TypeName.hxx"
28 template<
class T =
void>
63 operator const String& (void)
const;
65 operator const char*(void)
const;
75 : Value(
TypeName<T>().GetCommonName())
94 return this->Value.CStr();
100 return __Internal::TypeNameHelper::GetNamespace(this->Value,
true);
106 return __Internal::TypeNameHelper::GetClassName(this->Value,
true);
129 return GetFrom(&instance);
static CommonTypeName< T2 > GetFrom(T2 &instance)
Creates the CommonTypeName from the as argument passed variable.
Definition: CommonTypeName.hxx:127
static CommonTypeName< T2 > GetFrom(T2 *pInstance)
Creates the CommonTypeName from the as argument passed variable pointer.
Definition: CommonTypeName.hxx:137
This (meta programming) class provides the typename according the CLS (common language specification)...
Definition: CommonTypeName.hxx:30
CommonTypeName(void)
Constructs a CommonTypeName instance and determines the typename of the of T.
Definition: CommonTypeName.hxx:74
~CommonTypeName(void)=default
The default destructor..
String GetClassName(void) const
Gets the classname of the as template parameter given type.
Definition: CommonTypeName.hxx:104
String Value
The CLS typename of the as template argument passed type.
Definition: CommonTypeName.hxx:59
CommonTypeName & operator=(const CommonTypeName &arg)=default
The default assignment operator.
String GetNamespace(void) const
Gets the namespace of the as template parameter given type.
Definition: CommonTypeName.hxx:98
CommonTypeName(const CommonTypeName &arg)=default
The default copy constructor.
CommonTypeName(CommonTypeName &&arg) noexcept=default
The default move constructor.
This (meta programming) class provides the C++ typename of the as template argument passed type.
Definition: TypeName.hxx:56
String GetCommonName(void) const
Gets the common name of the as template parameter given type according to the CLS.
Definition: TypeName.hxx:136
Root namespace for the PLCnext API