27#ifndef typeDescription_hpp
28#define typeDescription_hpp
47 static constexpr int code()
53 static constexpr const char *
name()
53 static constexpr const char *
name() {
…}
60struct typeDescription<bool>
64 static constexpr int code()
69 static constexpr const char *
name()
76struct typeDescription<signed char>
78 typedef signed char type;
80 static constexpr int code()
85 static constexpr const char *
name()
92struct typeDescription<unsigned char>
94 typedef unsigned char type;
96 static constexpr int code()
101 static constexpr const char *
name()
103 return "unsigned char";
108struct typeDescription<char>
112 static constexpr int code()
117 static constexpr const char *
name()
124struct typeDescription<wchar_t>
126 typedef wchar_t type;
128 static constexpr int code()
133 static constexpr const char *
name()
140struct typeDescription<char16_t>
142 typedef char16_t type;
144 static constexpr int code()
149 static constexpr const char *
name()
156struct typeDescription<char32_t>
158 typedef char32_t type;
160 static constexpr int code()
165 static constexpr const char *
name()
172struct typeDescription<int>
176 static constexpr int code()
181 static constexpr const char *
name()
188struct typeDescription<unsigned int>
190 typedef unsigned int type;
192 static constexpr int code()
197 static constexpr const char *
name()
199 return "unsigned int";
204struct typeDescription<short int>
206 typedef short int type;
208 static constexpr int code()
213 static constexpr const char *
name()
220struct typeDescription<short unsigned int>
222 typedef short unsigned int type;
224 static constexpr int code()
229 static constexpr const char *
name()
231 return "short unsigned int";
236struct typeDescription<long int>
238 typedef long int type;
240 static constexpr int code()
245 static constexpr const char *
name()
252struct typeDescription<long unsigned int>
254 typedef long unsigned int type;
256 static constexpr int code()
261 static constexpr const char *
name()
263 return "long unsigned int";
268struct typeDescription<long long int>
270 typedef long long int type;
272 static constexpr int code()
277 static constexpr const char *
name()
279 return "long long int";
284struct typeDescription<long long unsigned int>
286 typedef long long unsigned int type;
288 static constexpr int code()
293 static constexpr const char *
name()
295 return "long long unsigned int";
300struct typeDescription<float>
304 static constexpr int code()
309 static constexpr const char *
name()
316struct typeDescription<double>
320 static constexpr int code()
325 static constexpr const char *
name()
332struct typeDescription<long double>
334 typedef long double type;
336 static constexpr int code()
341 static constexpr const char *
name()
343 return "long double";
348struct typeDescription<std::string>
350 typedef std::string
type;
352 static constexpr int code()
357 static constexpr const char *
name()
359 return "std::string";
364struct typeDescription<std::vector<bool>>
366 typedef std::vector<bool>
type;
368 static constexpr int code()
373 static constexpr const char *
name()
375 return "std::vector<bool>";
380struct typeDescription<std::vector<signed char>>
382 typedef std::vector<signed char>
type;
384 static constexpr int code()
389 static constexpr const char *
name()
391 return "std::vector<signed char>";
396struct typeDescription<std::vector<unsigned char>>
398 typedef std::vector<unsigned char>
type;
400 static constexpr int code()
405 static constexpr const char *
name()
407 return "std::vector<unsigned char>";
412struct typeDescription<std::vector<char>>
414 typedef std::vector<char>
type;
416 static constexpr int code()
421 static constexpr const char *
name()
423 return "std::vector<char>";
428struct typeDescription<std::vector<wchar_t>>
430 typedef std::vector<wchar_t>
type;
432 static constexpr int code()
437 static constexpr const char *
name()
439 return "std::vector<wchar_t>";
444struct typeDescription<std::vector<char16_t>>
446 typedef std::vector<char16_t>
type;
448 static constexpr int code()
453 static constexpr const char *
name()
455 return "std::vector<char16_t>";
460struct typeDescription<std::vector<char32_t>>
462 typedef std::vector<char32_t>
type;
464 static constexpr int code()
469 static constexpr const char *
name()
471 return "std::vector<char32_t>";
476struct typeDescription<std::vector<int>>
478 typedef std::vector<int>
type;
480 static constexpr int code()
485 static constexpr const char *
name()
487 return "std::vector<int>";
492struct typeDescription<std::vector<unsigned int>>
494 typedef std::vector<unsigned int>
type;
496 static constexpr int code()
501 static constexpr const char *
name()
503 return "std::vector<unsigned int>";
508struct typeDescription<std::vector<short int>>
510 typedef std::vector<short int>
type;
512 static constexpr int code()
517 static constexpr const char *
name()
519 return "std::vector<short int>";
524struct typeDescription<std::vector<short unsigned int>>
526 typedef std::vector<short unsigned int>
type;
528 static constexpr int code()
533 static constexpr const char *
name()
535 return "std::vector<short unsigned int>";
540struct typeDescription<std::vector<long int>>
542 typedef std::vector<long int>
type;
544 static constexpr int code()
549 static constexpr const char *
name()
551 return "std::vector<long int>";
556struct typeDescription<std::vector<long unsigned int>>
558 typedef std::vector<long unsigned int>
type;
560 static constexpr int code()
565 static constexpr const char *
name()
567 return "std::vector<long unsigned int>";
572struct typeDescription<std::vector<long long int>>
574 typedef std::vector<long long int>
type;
576 static constexpr int code()
581 static constexpr const char *
name()
583 return "std::vector<long long int>";
588struct typeDescription<std::vector<long long unsigned int>>
590 typedef std::vector<long long unsigned int>
type;
592 static constexpr int code()
597 static constexpr const char *
name()
599 return "std::vector<long long unsigned int>";
604struct typeDescription<std::vector<float>>
606 typedef std::vector<float>
type;
608 static constexpr int code()
613 static constexpr const char *
name()
615 return "std::vector<float>";
620struct typeDescription<std::vector<double>>
622 typedef std::vector<double>
type;
624 static constexpr int code()
629 static constexpr const char *
name()
631 return "std::vector<double>";
636struct typeDescription<std::vector<long double>>
638 typedef std::vector<long double>
type;
640 static constexpr int code()
645 static constexpr const char *
name()
647 return "std::vector<long double>";
652struct typeDescription<std::vector<std::string>>
654 typedef std::vector<std::string>
type;
656 static constexpr int code()
661 static constexpr const char *
name()
663 return "std::vector<std::string>";