This template class provides type information. More...
Type information | |
enum | TypeInformation { IsEnumType , IsClassType , IsFundamentalType , IsRegisteredType , IsConstType , IsVolatileType , IsReferenceType , IsArrayType , IsPointerType , IsPointerToMemberType , IsFunctionType , IsPointerToFunctionType , IsPointerToMemberFunctionType , HasBaseType , NumberOfParameters } |
Type information. More... | |
Type names | |
static std::string | getTypeName () |
Returns the type name. | |
static std::string | getParentTypeName () |
Returns the parent type name. | |
static std::string | getRootTypeName () |
Returns the root type name. | |
static std::string | getBaseTypeName () |
Returns the base type name. | |
static std::string | getOutputTypeName () |
Returns the output type name. | |
static std::string | getClassTypeName () |
Returns the class type name. | |
static std::string | getParameterTypeName (unsigned int i) |
Returns the type name of parameter i . | |
Short type names | |
static std::string | getShortTypeName () |
Returns the short type name. | |
static std::string | getShortParentTypeName () |
Returns the short parent type name. | |
static std::string | getShortRootTypeName () |
Returns the short root type name. | |
static std::string | getShortBaseTypeName () |
Returns the short base type name. | |
static std::string | getShortOutputTypeName () |
Returns the short output type name. | |
static std::string | getShortClassTypeName () |
Returns the short class type name. | |
static std::string | getShortParameterTypeName (unsigned int i) |
Returns the short type name of parameter i . | |
Identity | |
static SBCContainerUUID | getTypeUUID () |
Returns the UUID of the type. | |
T | The type about which information is sought |
This template class provides information about a type T
, through enumerated values and static functions, including for example:
Short name: SBType
enum SBCMetaType::TypeInformation |
This enumerated type returns information about the type T
. Besides NumberOfParameters
, each enumerated value is equal to either 1 or 0.
Enumerator | |
---|---|
IsEnumType | IsEnumType is equal to 1 if |
IsClassType | IsClassType is equal to 1 if |
IsFundamentalType | IsFundamentalType is equal to 1 if |
IsRegisteredType | IsRegisteredType is equal to 1 if |
IsConstType | IsConstType is equal to 1 if |
IsVolatileType | IsVolatileType is equal to 1 if |
IsReferenceType | IsReferenceType is equal to 1 if |
IsArrayType | IsArrayType is equal to 1 if |
IsPointerType | IsPointerType is equal to 1 if |
IsPointerToMemberType | IsPointerToMemberType is equal to 1 if |
IsFunctionType | IsFunctionType is equal to 1 if |
IsPointerToFunctionType | IsPointerToFunctionType is equal to 1 if |
IsPointerToMemberFunctionType | IsPointerToMemberFunctionType is equal to 1 if |
HasBaseType | HasBaseType is equal to 1 if |
NumberOfParameters | When |
|
inlinestatic |
This function returns the type name of the base type of T
. For example, the base type name of SBMStructuralModelNodeAtom is "SBMStructuralModelNode".
|
inlinestatic |
This function returns the type name of the class associated to T
, when T
is a pointer to a member or a pointer to a member function ("void" otherwise). For example, the class type name of &SBMStructuralModelNodeAtom::clearName
is "SBMStructuralModelNodeAtom".
|
inlinestatic |
This function returns the type name of the output type of T
, when T
is a function. For example, the output type name of SBMStructuralModelNodeAtom* getFirstAtom()
is "SBMStructuralModelNodeAtom*".
|
inlinestatic |
This function returns the type name of parameter i
of type T
, when T
is a function ("void" otherwise). For example, the type name of parameter 2 of myFunction(int, double, const SBMStructuralModelNodeAtom*)
is "const SBMStructuralModelNodeAtom*".
|
inlinestatic |
This function returns the type name of the parent type of T
. For example, the parent type name of int*
is "int".
|
inlinestatic |
This function returns the type name of the root type of T
. For example, the root type name of const std::string&
is "std::string".
|
inlinestatic |
This function returns the short type name of the base type of T
. For example, the short base type name of SBMStructuralModelNodeAtom is "SBNode".
|
inlinestatic |
This function returns the short type name of the class associated to T
, when T
is a pointer to a member or a pointer to a member function ("void" otherwise). For example, the short class type name of &SBMStructuralModelNodeAtom::clearName
is "SBAtom".
|
inlinestatic |
This function returns the short type name of the output type of T
, when T
is a function. For example, the short output type name of SBMStructuralModelNodeAtom* getFirstAtom()
is "SBAtom*".
|
inlinestatic |
This function returns the short type name of parameter i
of type T
, when T
is a function ("void" otherwise). For example, the short type name of parameter 2 of myFunction(int, double, const SBMStructuralModelNodeAtom*)
is "const SBAtom*".
|
inlinestatic |
This function returns the short type name of the parent type of T
. For example, the short parent type name of SBMStructuralModelNodeAtom*
is "SBAtom".
|
inlinestatic |
This function returns the type name of the root type of T
. For example, the short root type name of const SBMStructuralModelNodeAtom&
is "SBAtom".
|
inlinestatic |
When the type T
is fundamental, this function returns a string containing the fundamental type (e.g. "unsigned int"). When T
is registered, this function returns its short type name. Else, this function recursively decomposes the type in order to provide a string describing it, but using short names (e.g. "const SBAtom*").
|
inlinestatic |
When the type T
is fundamental, this function returns a string containing the fundamental type (e.g. "unsigned int"). When T
is registered, this function returns its type name. Else, this function recursively decomposes the type in order to provide a string describing it (e.g. "const SBMStructuralModelNodeAtom*").
|
inlinestatic |
If the type is registered, this function returns the associated UUID. Else, the function returns an invalid UUID.