PLCnext API Documentation
22.9.0.33
|
This (meta programming) class provides the typename according the CLS (common language specification) of the as template argument passed type. More...
#include <CommonTypeName.hxx>
Public Member Functions | |
CommonTypeName (void) | |
Constructs a CommonTypeName instance and determines the typename of the of T . More... | |
CommonTypeName (const CommonTypeName &arg)=default | |
The default copy constructor. More... | |
CommonTypeName (CommonTypeName &&arg) noexcept=default | |
The default move constructor. More... | |
CommonTypeName & | operator= (const CommonTypeName &arg)=default |
The default assignment operator. More... | |
~CommonTypeName (void)=default | |
The default destructor.. More... | |
String | GetNamespace (void) const |
Gets the namespace of the as template parameter given type. More... | |
String | GetClassName (void) const |
Gets the classname of the as template parameter given type. More... | |
operator const String & (void) const | |
Converts this instance implicitely to string. More... | |
operator const char * (void) const | |
Converts this instance implicitely to char* . More... | |
Public Attributes | |
String | Value |
The CLS typename of the as template argument passed type. More... | |
Friends | |
class | CommonTypeName< void > |
This (meta programming) class provides the typename according the CLS (common language specification) of the as template argument passed type.
The only difference to the TypeName class is, that the resulting C++ typename contains dots instead of the C++ scope operator ::
according the CLS used by .NET. The main reason is, that PLCnext provides a uniformed reflection mechanism (meta data) across multiple programming languages as C++, C#, IEC, Java, and more. All typenames of PLC data comply to the following pattern:
<LibraryNamespace>/<LocalTypeName>
where the library namespace as well as the local typename inside the library contains dot as separators but not any programming language specific operators like ::
.
This class uses RTTI which must be enabled by the C++ build.
T | The type to retrieve the commoon typename from. |
|
inline |
Constructs a CommonTypeName instance and determines the typename of the of T
.
|
default |
The default copy constructor.
arg | The argument to copy. |
|
defaultnoexcept |
The default move constructor.
arg | The argument to move. |
|
default |
The default destructor..
|
inline |
Gets the classname of the as template parameter given type.
|
inline |
Gets the namespace of the as template parameter given type.
|
inline |
Converts this instance implicitely to char*
.
|
inline |
Converts this instance implicitely to string.
|
default |
The default assignment operator.
arg | The argument to assign to this instance. |
String Arp::CommonTypeName< T >::Value |
The CLS typename of the as template argument passed type.