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. More... | |
| static std::string | getParentTypeName () |
| Returns the parent type name. More... | |
| static std::string | getRootTypeName () |
| Returns the root type name. More... | |
| static std::string | getBaseTypeName () |
| Returns the base type name. More... | |
| static std::string | getOutputTypeName () |
| Returns the output type name. More... | |
| static std::string | getClassTypeName () |
| Returns the class type name. More... | |
| static std::string | getParameterTypeName (unsigned int i) |
Returns the type name of parameter i. More... | |
Short type names | |
| static std::string | getShortTypeName () |
| Returns the short type name. More... | |
| static std::string | getShortParentTypeName () |
| Returns the short parent type name. More... | |
| static std::string | getShortRootTypeName () |
| Returns the short root type name. More... | |
| static std::string | getShortBaseTypeName () |
| Returns the short base type name. More... | |
| static std::string | getShortOutputTypeName () |
| Returns the short output type name. More... | |
| static std::string | getShortClassTypeName () |
| Returns the short class type name. More... | |
| static std::string | getShortParameterTypeName (unsigned int i) |
Returns the short type name of parameter i. More... | |
Identity | |
| static SBCContainerUUID | getTypeUUID () |
| Returns the UUID of the type. More... | |
| 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 "SBMStructuralModelNodeParticle".
|
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 "SBStructuralParticle".
|
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.