returns a single character code for a given string representation of data type. Mostly follows Python/C API's PyArg_ParseTuple convention.
43 static map<string, char> typemap;
45 typemap.insert(pair<string, char>(
"bool",
'b'));
46 typemap.insert(pair<string, char>(
"char",
'c'));
47 typemap.insert(pair<string, char>(
"int",
'i'));
48 typemap.insert(pair<string, char>(
"short",
'h'));
49 typemap.insert(pair<string, char>(
"unsigned short",
'H'));
50 typemap.insert(pair<string, char>(
"long",
'l'));
51 typemap.insert(pair<string, char>(
"long long",
'L'));
52 typemap.insert(pair<string, char>(
"unsigned int",
'I'));
53 typemap.insert(pair<string, char>(
"unsigned long",
'k'));
54 typemap.insert(pair<string, char>(
"unsigned long long",
'K'));
55 typemap.insert(pair<string, char>(
"float",
'f'));
56 typemap.insert(pair<string, char>(
"double",
'd'));
57 typemap.insert(pair<string, char>(
"string",
's'));
58 typemap.insert(pair<string, char>(
"Id",
'x'));
59 typemap.insert(pair<string, char>(
"ObjId",
'y'));
60 typemap.insert(pair<string, char>(
"DataId",
'z'));
61 typemap.insert(pair<string, char>(
"vector<char>",
'C'));
62 typemap.insert(pair<string, char>(
"vector<int>",
'v'));
63 typemap.insert(pair<string, char>(
"vector<short>",
'w'));
64 typemap.insert(pair<string, char>(
"vector<long>",
'M'));
65 typemap.insert(pair<string, char>(
"vector<long long>",
'A'));
66 typemap.insert(pair<string, char>(
"vector<unsigned long long>",
'B'));
67 typemap.insert(pair<string, char>(
"vector<unsigned int>",
'N'));
68 typemap.insert(pair<string, char>(
"vector<unsigned long>",
'P'));
69 typemap.insert(pair<string, char>(
"vector<float>",
'F'));
70 typemap.insert(pair<string, char>(
"vector<double>",
'D'));
71 typemap.insert(pair<string, char>(
"vector<string>",
'S'));
72 typemap.insert(pair<string, char>(
"vector<Id>",
'X'));
73 typemap.insert(pair<string, char>(
"vector<ObjId>",
'Y'));
74 typemap.insert(pair<string, char>(
"vector<DataId",
'Z'));
75 typemap.insert(pair<string, char>(
"void",
'_'));
76 typemap.insert(pair<string, char>(
"vector< vector<unsigned int> >",
'T'));
77 typemap.insert(pair<string, char>(
"vector< vector<int> >",
'Q'));
78 typemap.insert(pair<string, char>(
"vector< vector<double> >",
'R'));
80 map<string, char>::iterator iter = typemap.find(
name);
81 if (iter == typemap.end()){