Skip to content

Commit cb39aa9

Browse files
committed
Tagged object macro refactor
1 parent 09206a3 commit cb39aa9

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

inc/taggedjsonobjectmacros.h

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,16 @@
1010
#define TAGGEDOBJECTMACRO_DECLARE_MEMBER(type, name) type name;
1111
#define TAGGEDOBJECTMACRO_DECLARE_MEMBER_UNPACK(pair) TAGGEDOBJECTMACRO_DECLARE_MEMBER pair
1212

13-
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER(type, name) name(val.take(#name), checkValues),
13+
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER(type, name) name(val.take(#name), checkValues)
1414
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_UNPACK(pair) TAGGEDOBJECTMACRO_INITIALIZE_MEMBER pair
1515

16-
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE(type, name) name(val[#name], checkValues),
16+
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE(type, name) name(val[#name], checkValues)
1717
#define TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE_UNPACK(pair) TAGGEDOBJECTMACRO_INITIALIZE_MEMBER_VALUE pair
1818

19-
#define TAGGEDOBJECTMACRO_LIST_MEMBERS(type, name) type name,
19+
#define TAGGEDOBJECTMACRO_LIST_MEMBERS(type, name) type name
2020
#define TAGGEDOBJECTMACRO_LIST_MEMBERS_UNPACK(pair) TAGGEDOBJECTMACRO_LIST_MEMBERS pair
2121

22-
#define TAGGEDOBJECTMACRO_MOVE_PARAMETERS(type, name) name(std::move(name)),
22+
#define TAGGEDOBJECTMACRO_MOVE_PARAMETERS(type, name) name(std::move(name))
2323
#define TAGGEDOBJECTMACRO_MOVE_PARAMETERS_UNPACK(pair) TAGGEDOBJECTMACRO_MOVE_PARAMETERS pair
2424

2525

@@ -49,14 +49,12 @@ respective JSON data, a runtime error will be raised.
4949
#define TJO_DEFINE_JSON_TAGGED_OBJECT(CLASS_NAME, ...) \
5050
class CLASS_NAME{\
5151
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__) {}; \
5454
explicit CLASS_NAME(const QByteArray& json, const bool checkValues=true) : CLASS_NAME(TaggedObject::getJSONObjectFromJSONText(json), checkValues) {};\
5555
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__) {};\
5757
MAP(TAGGEDOBJECTMACRO_DECLARE_MEMBER_UNPACK, __VA_ARGS__)\
58-
private:\
59-
bool dummyVar;\
6058
};
6159

6260
#endif // TAGGEDJSONOBJECTMACROS_H

0 commit comments

Comments
 (0)