00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __loaded__types_h__
00021 #define __loaded__types_h__
00022 using namespace std;
00023 #line 1 "types.h++"
00024 #include <typeinfo>
00025 #include <Qt/qstring.h>
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036 class DataTexter;
00037 class Token;
00038 class Symbol;
00039 class Data;
00040 class String;
00041 class QStringLesser;
00042 class DataVisitor;
00043
00044 template <int D, class T> class Array;
00045 template <class T, bool S, char L> class IntegerClass;
00046 template <class T, char L> class FloatClass;
00047
00048
00049
00050
00051 #define BASIC_TYPES \
00052 BASIC_TYPE(signed char, signed1, Signed1) \
00053 BASIC_TYPE(signed short int, signed2, Signed2) \
00054 BASIC_TYPE(signed int, signed4, Signed4) \
00055 BASIC_TYPE(signed long long int, signed8, Signed8) \
00056 BASIC_TYPE(unsigned char, unsigned1, Unsigned1) \
00057 BASIC_TYPE(unsigned short int, unsigned2, Unsigned2) \
00058 BASIC_TYPE(unsigned int, unsigned4, Unsigned4) \
00059 BASIC_TYPE(unsigned long long int, unsigned8, Unsigned8) \
00060 BASIC_TYPE( float, float4, Float4) \
00061 BASIC_TYPE( double, float8, Float8)
00062
00063 #define BASIC_TYPE(A,B,C) typedef A B;
00064 BASIC_TYPES
00065 #undef BASIC_TYPE
00066
00067 typedef IntegerClass<signed1,true,'b'> Signed1;
00068 typedef IntegerClass<signed2,true,'w'> Signed2;
00069 typedef IntegerClass<signed4,true,'i'> Signed4;
00070 typedef IntegerClass<signed8,true,'l'> Signed8;
00071 typedef IntegerClass<unsigned1,false,'b'> Unsigned1;
00072 typedef IntegerClass<unsigned2,false,'w'> Unsigned2;
00073 typedef IntegerClass<unsigned4,false,'i'> Unsigned4;
00074 typedef IntegerClass<unsigned8,false,'l'> Unsigned8;
00075 typedef FloatClass<float4,'f'> Float4;
00076 typedef FloatClass<float8,'d'> Float8;
00077
00078
00079 #ifdef SHORT_ONE
00080 #define ARRAY_TYPES \
00081 ARRAY_TYPE(1,signed1) ARRAY_TYPE(2,signed1) ARRAY_TYPE(3,signed1) ARRAY_TYPE(4,signed1) \
00082 ARRAY_TYPE(1,signed2) ARRAY_TYPE(2,signed2) ARRAY_TYPE(3,signed2) ARRAY_TYPE(4,signed2) \
00083 ARRAY_TYPE(1,signed4) ARRAY_TYPE(2,signed4) ARRAY_TYPE(3,signed4) ARRAY_TYPE(4,signed4) \
00084 ARRAY_TYPE(1,signed8) ARRAY_TYPE(2,signed8) ARRAY_TYPE(3,signed8) ARRAY_TYPE(4,signed8) \
00085 ARRAY_TYPE(1,unsigned1) ARRAY_TYPE(2,unsigned1) ARRAY_TYPE(3,unsigned1) ARRAY_TYPE(4,unsigned1) \
00086 ARRAY_TYPE(1,unsigned2) ARRAY_TYPE(2,unsigned2) ARRAY_TYPE(3,unsigned2) ARRAY_TYPE(4,unsigned2) \
00087 ARRAY_TYPE(1,unsigned4) ARRAY_TYPE(2,unsigned4) ARRAY_TYPE(3,unsigned4) ARRAY_TYPE(4,unsigned4) \
00088 ARRAY_TYPE(1,unsigned8) ARRAY_TYPE(2,unsigned8) ARRAY_TYPE(3,unsigned8) ARRAY_TYPE(4,unsigned8) \
00089 ARRAY_TYPE(1,float4) ARRAY_TYPE(2,float4) ARRAY_TYPE(3,float4) ARRAY_TYPE(4,float4) \
00090 ARRAY_TYPE(1,float8) ARRAY_TYPE(2,float8) ARRAY_TYPE(3,float8) ARRAY_TYPE(4,float8) \
00091 ARRAY_TYPE(1,Data) ARRAY_TYPE(2,Data) ARRAY_TYPE(3,Data) ARRAY_TYPE(4,Data)
00092 #else
00093 #define ARRAY_TYPES \
00094 ARRAY_TYPE(1,signed1) ARRAY_TYPE(2,signed1) ARRAY_TYPE(3,signed1) \
00095 ARRAY_TYPE(4,signed1) ARRAY_TYPE(5,signed1) ARRAY_TYPE(6,signed1) \
00096 ARRAY_TYPE(7,signed1) ARRAY_TYPE(8,signed1) ARRAY_TYPE(1,signed2) \
00097 ARRAY_TYPE(2,signed2) ARRAY_TYPE(3,signed2) ARRAY_TYPE(4,signed2) \
00098 ARRAY_TYPE(5,signed2) ARRAY_TYPE(6,signed2) ARRAY_TYPE(7,signed2) \
00099 ARRAY_TYPE(8,signed2) ARRAY_TYPE(1,signed4) ARRAY_TYPE(2,signed4) \
00100 ARRAY_TYPE(3,signed4) ARRAY_TYPE(4,signed4) ARRAY_TYPE(5,signed4) \
00101 ARRAY_TYPE(6,signed4) ARRAY_TYPE(7,signed4) ARRAY_TYPE(8,signed4) \
00102 ARRAY_TYPE(1,signed8) ARRAY_TYPE(2,signed8) ARRAY_TYPE(3,signed8) \
00103 ARRAY_TYPE(4,signed8) ARRAY_TYPE(5,signed8) ARRAY_TYPE(6,signed8) \
00104 ARRAY_TYPE(7,signed8) ARRAY_TYPE(8,signed8) ARRAY_TYPE(1,unsigned1) \
00105 ARRAY_TYPE(2,unsigned1) ARRAY_TYPE(3,unsigned1) ARRAY_TYPE(4,unsigned1) \
00106 ARRAY_TYPE(5,unsigned1) ARRAY_TYPE(6,unsigned1) ARRAY_TYPE(7,unsigned1) \
00107 ARRAY_TYPE(8,unsigned1) ARRAY_TYPE(1,unsigned2) ARRAY_TYPE(2,unsigned2) \
00108 ARRAY_TYPE(3,unsigned2) ARRAY_TYPE(4,unsigned2) ARRAY_TYPE(5,unsigned2) \
00109 ARRAY_TYPE(6,unsigned2) ARRAY_TYPE(7,unsigned2) ARRAY_TYPE(8,unsigned2) \
00110 ARRAY_TYPE(1,unsigned4) ARRAY_TYPE(2,unsigned4) ARRAY_TYPE(3,unsigned4) \
00111 ARRAY_TYPE(4,unsigned4) ARRAY_TYPE(5,unsigned4) ARRAY_TYPE(6,unsigned4) \
00112 ARRAY_TYPE(7,unsigned4) ARRAY_TYPE(8,unsigned4) ARRAY_TYPE(1,unsigned8) \
00113 ARRAY_TYPE(2,unsigned8) ARRAY_TYPE(3,unsigned8) ARRAY_TYPE(4,unsigned8) \
00114 ARRAY_TYPE(5,unsigned8) ARRAY_TYPE(6,unsigned8) ARRAY_TYPE(7,unsigned8) \
00115 ARRAY_TYPE(8,unsigned8) ARRAY_TYPE(1,float4) ARRAY_TYPE(2,float4) \
00116 ARRAY_TYPE(3,float4) ARRAY_TYPE(4,float4) ARRAY_TYPE(5,float4) \
00117 ARRAY_TYPE(6,float4) ARRAY_TYPE(7,float4) ARRAY_TYPE(8,float4) \
00118 ARRAY_TYPE(1,float8) ARRAY_TYPE(2,float8) ARRAY_TYPE(3,float8) \
00119 ARRAY_TYPE(4,float8) ARRAY_TYPE(5,float8) ARRAY_TYPE(6,float8) \
00120 ARRAY_TYPE(7,float8) ARRAY_TYPE(8,float8) ARRAY_TYPE(1,Data) \
00121 ARRAY_TYPE(2,Data) ARRAY_TYPE(3,Data) ARRAY_TYPE(4,Data) ARRAY_TYPE(5,Data) \
00122 ARRAY_TYPE(6,Data) ARRAY_TYPE(7,Data) ARRAY_TYPE(8,Data)
00123 #endif
00124 #endif // __loaded__types_h__