|
32 | 32 | #define TTK_QT_VERSION_CHECK(major, minor, patch) (QT_VERSION >= QT_VERSION_CHECK(major, minor, patch))
|
33 | 33 |
|
34 | 34 | #ifndef qPrintable
|
35 |
| -#define qPrintable(s) QString(s).toLocal8Bit().constData() |
| 35 | +# define qPrintable(s) QString(s).toLocal8Bit().constData() |
36 | 36 | #endif
|
37 | 37 |
|
38 | 38 | #ifndef qUtf8Printable
|
39 |
| -#define qUtf8Printable(s) QString(s).toUtf8().constData() |
| 39 | +# define qUtf8Printable(s) QString(s).toUtf8().constData() |
40 | 40 | #endif
|
41 | 41 |
|
42 | 42 | #if !TTK_QT_VERSION_CHECK(5,7,0)
|
43 |
| -#define TTK_AS_CONST |
| 43 | +# define TTK_AS_CONST |
44 | 44 | // this adds const to non-const objects (like std::as_const)
|
45 |
| -#ifndef Q_CC_MSVC |
| 45 | +# ifndef Q_CC_MSVC |
46 | 46 | template <typename T>
|
47 | 47 | Q_DECL_CONSTEXPR typename std::add_const<T>::type &qAsConst(T &t) noexcept { return t; }
|
48 | 48 | // prevent rvalue arguments:
|
49 | 49 | template <typename T>
|
50 | 50 | void qAsConst(const T &&) = delete;
|
51 |
| -#else |
| 51 | +# else |
52 | 52 | template <typename T>
|
53 | 53 | Q_DECL_CONSTEXPR typename std::add_const<T>::type &qAsConst(T &t) { return t; }
|
54 |
| -#endif |
| 54 | +# endif |
55 | 55 | #endif
|
56 | 56 |
|
57 | 57 | //
|
58 | 58 | #ifdef QT_DEBUG
|
59 |
| -# define TTK_DEBUG |
| 59 | +# define TTK_DEBUG |
60 | 60 | #endif
|
61 | 61 |
|
62 |
| -/// |
63 |
| -#ifdef __cplusplus |
| 62 | +// |
| 63 | +#if __cplusplus >= 201103L |
64 | 64 | # define TTK_CAST
|
65 | 65 | #endif
|
66 | 66 |
|
67 |
| -///cast |
| 67 | +// cast |
68 | 68 | #ifdef TTK_CAST
|
69 | 69 | # define TTKConst_cast(x,y) (const_cast< x >(y))
|
70 | 70 | #else
|
@@ -95,20 +95,19 @@ Q_DECL_CONSTEXPR typename std::add_const<T>::type &qAsConst(T &t) { return t; }
|
95 | 95 | # define TTKObject_cast(x,y) (qobject_cast< x >(y))
|
96 | 96 | #endif
|
97 | 97 |
|
98 |
| -/// |
99 |
| -#define TTK_IN const & |
100 |
| -#define TTK_OT & |
101 |
| -#define TTK_RT const |
102 |
| -#define TTK_RD & |
103 |
| -#define TTK_RR const & |
104 |
| -#define TTK_CT const |
105 |
| -#define TTK_CR const & |
| 98 | +// |
| 99 | +#if !TTK_QT_VERSION_CHECK(5,0,0) && defined(Q_CC_GNU) |
| 100 | +# if defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L |
| 101 | +# define Q_COMPILER_DEFAULT_MEMBERS |
| 102 | +# define Q_COMPILER_DELETE_MEMBERS |
| 103 | +# define Q_COMPILER_NULLPTR |
| 104 | +# define Q_COMPILER_EXPLICIT_OVERRIDES |
| 105 | +# endif |
| 106 | +#endif |
106 | 107 |
|
107 |
| -/* |
108 |
| - * C++11 keywords and expressions |
109 |
| - */ |
| 108 | +// C++11 keywords and expressions |
110 | 109 | #ifdef Q_COMPILER_NULLPTR
|
111 |
| -# define TTK_NULLPTR nullptr |
| 110 | +# define TTK_NULLPTR nullptr |
112 | 111 | #else
|
113 | 112 | # define TTK_NULLPTR NULL
|
114 | 113 | #endif
|
@@ -137,76 +136,73 @@ Q_DECL_CONSTEXPR typename std::add_const<T>::type &qAsConst(T &t) { return t; }
|
137 | 136 | # endif
|
138 | 137 | #endif
|
139 | 138 |
|
140 |
| -/// |
141 |
| -#define TTK_NAN_STR "NaN" |
142 |
| -#define TTK_STR_SPLITER "*|||*" |
143 |
| - |
144 |
| -/// |
145 |
| -#define TTK_DECLARE_PTR(Class) \ |
146 |
| -public: \ |
147 |
| - using Class##Ptr = Class *; \ |
148 |
| - using Class##CPtr = const Class *; |
| 139 | +// disable copy |
| 140 | +#define TTK_DISABLE_COPY(Class) \ |
| 141 | +private: \ |
| 142 | + Class(const Class &) TTK_DELETE; \ |
| 143 | + Class &operator=(const Class &) TTK_DELETE; |
149 | 144 |
|
150 |
| -#define TTK_DECLARE_GCN(Class) \ |
151 |
| -public: \ |
152 |
| - inline static QString getClassName() \ |
153 |
| - { \ |
154 |
| - return #Class; \ |
| 145 | +// make class name |
| 146 | +#define TTK_DECLARE_MODULE(Class) \ |
| 147 | +public: \ |
| 148 | + inline static QString className() \ |
| 149 | + { \ |
| 150 | + return #Class; \ |
155 | 151 | }
|
156 | 152 |
|
157 |
| -#define TTK_DECLARE_MODULE(Class) \ |
158 |
| -public: \ |
159 |
| - TTK_DECLARE_PTR(Class) \ |
160 |
| - TTK_DECLARE_GCN(Class) |
161 |
| - |
162 |
| -/// |
| 153 | +// marco str cat |
163 | 154 | #ifndef _MSC_VER
|
164 |
| - //gcc version less than 3.4.0 |
165 |
| - #if __GNUC__ <= 3 && __GNUC_MINOR__ <= 4 |
166 |
| - #define TTK_STRCAT(a, b) a##b |
167 |
| - #else |
168 |
| - #define TTK_STRCAT(a, b) a b |
169 |
| - #endif |
| 155 | +// gcc version less than 3.4.0 |
| 156 | +# if __GNUC__ <= 3 && __GNUC_MINOR__ <= 4 |
| 157 | +# define TTK_STRCAT(a, b) a##b |
| 158 | +# else |
| 159 | +# define TTK_STRCAT(a, b) a b |
| 160 | +# endif |
170 | 161 | #else
|
171 |
| - #define TTK_STRCAT(a, b) a b |
172 |
| -#endif |
173 |
| - |
174 |
| -#define TTK_DECLARE_LISTS(Class) \ |
175 |
| - typedef QList<Class> Class##s; |
176 |
| - |
177 |
| -#define TTK_DECLARE_FLAGS(Flags, Enum) \ |
178 |
| - typedef QFlags<Enum> Flags; |
179 |
| - |
180 |
| -/// |
181 |
| -typedef signed char TTKInt8; /* 8 bit signed */ |
182 |
| -typedef unsigned char TTKUInt8; /* 8 bit unsigned */ |
183 |
| -typedef short TTKInt16; /* 16 bit signed */ |
184 |
| -typedef unsigned short TTKUInt16; /* 16 bit unsigned */ |
185 |
| -typedef int TTKInt32; /* 32 bit signed */ |
186 |
| -typedef unsigned int TTKUInt32; /* 32 bit unsigned */ |
187 |
| -typedef long long TTKInt64; /* 64 bit signed */ |
188 |
| -typedef unsigned long long TTKUInt64; /* 64 bit unsigned */ |
189 |
| - |
190 |
| -typedef double TTKDouble; /* double */ |
191 |
| -typedef float TTKFloat; /* float */ |
192 |
| -typedef bool TTKBool; /* bool */ |
193 |
| - |
194 |
| -typedef std::string TTKString; /* string */ |
195 |
| - |
196 |
| -/// |
197 |
| -typedef QList<QVariant> TTKVariantList; /* variantlist */ |
198 |
| -typedef QList<int> TTKIntList; /* intlist */ |
199 |
| -typedef QSet<QVariant> TTKVariantSet; /* variantset */ |
200 |
| -typedef QSet<int> TTKIntSet; /* intset */ |
201 |
| -typedef QMap<QString, QVariant> TTKVariantMap; /* stringVariantMap */ |
202 |
| -typedef QMap<QString, QString> TTKStringMap; /* stringsMap */ |
203 |
| -typedef QMap<QString, QStringList> TTKStringListMap; /* stringStrlistsMap */ |
204 |
| -typedef QMap<int, TTKIntList> TTKIntListMap; /* intIntlistMap */ |
205 |
| -typedef QMap<qint64, QString> TTKIntStringMap; /* intStrMap */ |
206 |
| -typedef QMapIterator<QString, QVariant> TTKVariantMapIterator; /* stringVariantMapIterator */ |
207 |
| -typedef QMapIterator<QString, QString> TTKStringMapterator; /* stringsMapIterator */ |
208 |
| -typedef QMapIterator<QString, QStringList> TTKStringListMapIterator; /* stringStrlistsMapIterator */ |
209 |
| -typedef QMapIterator<int, TTKIntList> TTKIntListMapIterator; /* intIntlistMapIterator */ |
210 |
| -typedef QMapIterator<qint64, QString> TTKIntStringMapIterator; /* intStrMapIterator */ |
| 162 | +# define TTK_STRCAT(a, b) a b |
| 163 | +#endif |
| 164 | + |
| 165 | +#define TTK_DECLARE_LIST(Class) typedef QList<Class> Class##s; |
| 166 | +#define TTK_DECLARE_FLAG(Flags, Enum) typedef QFlags<Enum> Flags; |
| 167 | + |
| 168 | +#define TTK_DOT "." |
| 169 | +#define TTK_DOTDOT ".." |
| 170 | +#define TTK_SEPARATOR "/" |
| 171 | +#define TTK_PDIR TTK_STRCAT(TTK_DOTDOT, TTK_SEPARATOR) |
| 172 | + |
| 173 | +#define TTK_SPLITER "*|||*" |
| 174 | +#define TTK_DEFAULT_STR "-" |
| 175 | +#define TTK_NAN_STR "NaN" |
| 176 | +#define TTK_NULL_STR "null" |
| 177 | + |
| 178 | +// C style |
| 179 | +typedef signed char TTKInt8; /* 8 bit signed */ |
| 180 | +typedef unsigned char TTKUInt8; /* 8 bit unsigned */ |
| 181 | +typedef short TTKInt16; /* 16 bit signed */ |
| 182 | +typedef unsigned short TTKUInt16; /* 16 bit unsigned */ |
| 183 | +typedef int TTKInt32; /* 32 bit signed */ |
| 184 | +typedef unsigned int TTKUInt32; /* 32 bit unsigned */ |
| 185 | +typedef long long TTKInt64; /* 64 bit signed */ |
| 186 | +typedef unsigned long long TTKUInt64; /* 64 bit unsigned */ |
| 187 | + |
| 188 | +typedef double TTKDouble; /* double */ |
| 189 | +typedef float TTKFloat; /* float */ |
| 190 | +typedef bool TTKBool; /* bool */ |
| 191 | + |
| 192 | +// C++ style |
| 193 | +typedef std::string TTKString; /* string */ |
| 194 | +typedef std::wstring TTKWString; /* wstring */ |
| 195 | + |
| 196 | +// Qt style |
| 197 | +typedef QList<int> TTKIntList; /* intlist */ |
| 198 | +typedef QList<QVariant> TTKVariantList; /* variantlist */ |
| 199 | +typedef QSet<int> TTKIntSet; /* intset */ |
| 200 | +typedef QMap<QString, QVariant> TTKVariantMap; /* stringVariantMap */ |
| 201 | +typedef QMap<QString, QString> TTKStringMap; /* stringsMap */ |
| 202 | +typedef QMap<QString, QStringList> TTKStringListMap; /* stringStrlistsMap */ |
| 203 | +typedef QMap<int, TTKIntList> TTKIntListMap; /* intIntlistMap */ |
| 204 | +typedef QMap<qint64, QString> TTKIntStringMap; /* intStrMap */ |
| 205 | +typedef QMapIterator<QString, QString> TTKStringMapterator; /* stringsMapIterator */ |
| 206 | +typedef QMapIterator<qint64, QString> TTKIntStringMapIterator; /* intStrMapIterator */ |
211 | 207 |
|
212 | 208 | #endif // TTKGLOBAL_H
|
0 commit comments