4 #include <cgv/type/standard_types.h>
5 #include <cgv/type/lib_begin.h>
80 extern CGV_API
TypeId get_new_type_id();
87 static TypeId get_id() {
static TypeId ti = get_new_type_id();
return ti; }
91 template <>
struct type_id<bool> {
static TypeId get_id() {
return TI_BOOL; } };
103 template <>
struct type_id<std::string> {
static TypeId get_id() {
return TI_STRING; } };
104 template <>
struct type_id<std::wstring> {
static TypeId get_id() {
return TI_WSTRING; } };
119 #include <cgv/config/lib_end.h>
int int32_type
this type provides an 32 bit signed integer type
Definition: standard_types.h:12
@ TI_WCHAR
floating point type stored in 64 bits
Definition: type_id.h:30
@ TI_BIT
used for undefined type
Definition: type_id.h:14
double flt64_type
this type provides a 64 bit floating point type
Definition: standard_types.h:26
@ TI_INT32
signed integer stored in 16 bits
Definition: type_id.h:21
@ TI_METHOD
member of a compound
Definition: type_id.h:52
TypeId
ids for the different types and type constructs
Definition: type_id.h:12
unsigned char uint8_type
this type provides an 8 bit unsigned integer type
Definition: standard_types.h:16
@ TI_UINT64
unsigned integer stored in 32 bits
Definition: type_id.h:26
@ TI_STRING
wide character type
Definition: type_id.h:31
unsigned short uint16_type
this type provides an 16 bit unsigned integer type
Definition: standard_types.h:18
@ TI_SIGNATURE
function or method parameter
Definition: type_id.h:48
short int16_type
this type provides an 16 bit signed integer type
Definition: standard_types.h:10
@ TI_UNION
class type compound
Definition: type_id.h:43
@ TI_FLT64
floating point type stored in 32 bits
Definition: type_id.h:29
@ TI_PARAMETER
expression used for default parameters
Definition: type_id.h:47
@ TI_CHAR
always the index after the last type construct
Definition: type_id.h:62
@ TI_INT16
signed integer stored in 8 bits
Definition: type_id.h:20
bool is_unsigned_integral(TypeId tid)
query if a kind is an unsigned integral type
Definition: type_id.h:71
@ TI_UINT32
unsigned integer stored in 16 bits
Definition: type_id.h:25
@ TI_METHOD_POINTER
member pointer type construct
Definition: type_id.h:40
@ TI_LAST
a template construct
Definition: type_id.h:60
@ TI_UINT16
unsigned integer stored in 8 bits
Definition: type_id.h:24
@ TI_CLASSNAME
an undefined typename used as template parameter
Definition: type_id.h:57
@ TI_TYPEDEF
an instance not a type
Definition: type_id.h:55
@ TI_INT8
boolean
Definition: type_id.h:19
@ TI_CLASS
struct type compound
Definition: type_id.h:42
@ TI_FIRST_STD_TYPE
always the first type construct
Definition: type_id.h:64
@ TI_FIRST_TYPE
always the last standard type
Definition: type_id.h:66
@ TI_LAST_STD_TYPE
always the first standard type
Definition: type_id.h:65
@ TI_VOID
bit based types
Definition: type_id.h:16
@ TI_FLT32
floating point type stored in 16 bits
Definition: type_id.h:28
template with a static member function get_id() of type TypeId returning the TypeId of the template a...
Definition: type_id.h:86
@ TI_ARRAY
pointer type construct
Definition: type_id.h:37
@ TI_FUNCTION_POINTER
array type construct
Definition: type_id.h:38
long long int64_type
this type provides an 64 bit signed integer type
Definition: standard_types.h:14
unsigned int get_type_size(TypeId tid)
function that returns the size of a type specified through TypeId
Definition: type_id.cxx:18
@ TI_INT64
signed integer stored in 32 bits
Definition: type_id.h:22
@ TI_FLT16
unsigned integer stored in 64 bits
Definition: type_id.h:27
@ TI_WSTRING
string type
Definition: type_id.h:32
@ TI_TYPENAME
a type definition
Definition: type_id.h:56
@ TI_MEMBER
base type of a compound type
Definition: type_id.h:51
unsigned int uint32_type
this type provides an 32 bit unsigned integer type
Definition: standard_types.h:20
float flt32_type
this type provides a 32 bit floating point type
Definition: standard_types.h:24
@ TI_BOOL
void
Definition: type_id.h:18
@ TI_CONSTRUCTOR
method of a compound, not a method pointer
Definition: type_id.h:53
@ TI_INSTANCE
constructor of a compound
Definition: type_id.h:54
@ TI_UINT8
signed integer stored in 64 bits
Definition: type_id.h:23
@ TI_REFERENCE
all enum types
Definition: type_id.h:35
const char * get_type_name(TypeId tid)
function that returns the name of a type specified through TypeId
Definition: type_id.cxx:117
wchar_t wchar_type
wide character type
Definition: standard_types.h:28
@ TI_POINTER
reference type construct
Definition: type_id.h:36
@ TI_LAST_TYPE
always the first standard type
Definition: type_id.h:67
TypeId get_type_id(const std::string &_type_name)
function that returns the type id of a type name
Definition: type_id.cxx:53
@ TI_ENUM
string type
Definition: type_id.h:34
@ TI_BASE
function not a function pointer
Definition: type_id.h:50
@ TI_MEMBER_POINTER
function pointer type construct
Definition: type_id.h:39
@ TI_STRUCT
method pointer type construct
Definition: type_id.h:41
@ TI_FUNCTION
function or method signature
Definition: type_id.h:49
the cgv namespace
Definition: vr_calib.cxx:9
@ TI_TEMPLATE
an undefined class name used as template parameter
Definition: type_id.h:58
@ TI_FIRST
alias for character type
Definition: type_id.h:63
@ TI_CONST
union type compound
Definition: type_id.h:45
@ TI_EXPRESSION
const modifier
Definition: type_id.h:46
unsigned long long uint64_type
this type provides an 64 bit unsigned integer type
Definition: standard_types.h:22
char int8_type
this type provides an 8 bit signed integer type
Definition: standard_types.h:8