|
10 | 10 | #define TAGGEDOBJECTMACRO_DECLARE_MEMBER(type, name) type name; |
11 | 11 | #define TAGGEDOBJECTMACRO_DECLARE_MEMBER_UNPACK(pair) TAGGEDOBJECTMACRO_DECLARE_MEMBER pair |
12 | 12 |
|
13 | | -#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER(type, name) name(val.take(#name), checkValues), |
| 13 | +#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER(type, name) name(val.take(#name), checkValues) |
14 | 14 | #define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_UNPACK(pair) TAGGEDOBJECTMACRO_INITIALIZE_MEMBER pair |
15 | 15 |
|
16 | | -#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE(type, name) name(val[#name], checkValues), |
| 16 | +#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE(type, name) name(val[#name], checkValues) |
17 | 17 | #define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE_UNPACK(pair) TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE pair |
18 | 18 |
|
19 | | -#define TAGGEDOBJECTMACRO_LIST_MEMBERS(type, name) type name, |
| 19 | +#define TAGGEDOBJECTMACRO_LIST_MEMBERS(type, name) type name |
20 | 20 | #define TAGGEDOBJECTMACRO_LIST_MEMBERS_UNPACK(pair) TAGGEDOBJECTMACRO_LIST_MEMBERS pair |
21 | 21 |
|
22 | | -#define TAGGEDOBJECTMACRO_MOVE_PARAMETERS(type, name) name(std::move(name)), |
| 22 | +#define TAGGEDOBJECTMACRO_MOVE_PARAMETERS(type, name) name(std::move(name)) |
23 | 23 | #define TAGGEDOBJECTMACRO_MOVE_PARAMETERS_UNPACK(pair) TAGGEDOBJECTMACRO_MOVE_PARAMETERS pair |
24 | 24 |
|
25 | 25 |
|
@@ -49,14 +49,12 @@ respective JSON data, a runtime error will be raised. |
49 | 49 | #define TJO_DEFINE_JSON_TAGGED_OBJECT(CLASS_NAME, ...) \ |
50 | 50 | class CLASS_NAME{\ |
51 | 51 | public:\ |
52 | | - explicit CLASS_NAME(QJsonObject val, const bool checkValues=true) : MAP(TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_UNPACK, __VA_ARGS__) dummyVar(false) {}; \ |
53 | | - explicit CLASS_NAME(QJsonValue val, const bool checkValues=true) : MAP(TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE_UNPACK, __VA_ARGS__) dummyVar(false) {}; \ |
| 52 | + explicit CLASS_NAME(QJsonObject val, const bool checkValues=true) : MAP_LIST(TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_UNPACK, __VA_ARGS__) {}; \ |
| 53 | + explicit CLASS_NAME(QJsonValue val, const bool checkValues=true) : MAP_LIST(TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE_UNPACK, __VA_ARGS__) {}; \ |
54 | 54 | explicit CLASS_NAME(const QByteArray& json, const bool checkValues=true) : CLASS_NAME(TaggedObject::getJSONObjectFromJSONText(json), checkValues) {};\ |
55 | 55 | explicit CLASS_NAME(const QString& filePath, const bool checkValues=true) : CLASS_NAME(TaggedObject::getJSONObjectFromFile(filePath), checkValues) {};\ |
56 | | - explicit CLASS_NAME(MAP(TAGGEDOBJECTMACRO_LIST_MEMBERS_UNPACK, __VA_ARGS__) const bool checkValues=true) : MAP(TAGGEDOBJECTMACRO_MOVE_PARAMETERS_UNPACK, __VA_ARGS__) dummyVar(false) {};\ |
| 56 | + explicit CLASS_NAME(MAP_LIST(TAGGEDOBJECTMACRO_LIST_MEMBERS_UNPACK, __VA_ARGS__), const bool checkValues=true) : MAP_LIST(TAGGEDOBJECTMACRO_MOVE_PARAMETERS_UNPACK, __VA_ARGS__) {};\ |
57 | 57 | MAP(TAGGEDOBJECTMACRO_DECLARE_MEMBER_UNPACK, __VA_ARGS__)\ |
58 | | -private:\ |
59 | | - bool dummyVar;\ |
60 | 58 | }; |
61 | 59 |
|
62 | 60 | #endif // TAGGEDJSONOBJECTMACROS_H |
0 commit comments