Mathew Sutcliffe
1283d50737
refs #345 Refactored TupleConverter flags so that they can be accessed by Private::Attribute.
2014-11-10 20:43:57 +00:00
Mathew Sutcliffe
1a5856e34c
refs #345 For consistency, CValueObjectStdTuple is friend of TupleConverter specialization for template value classes.
2014-11-10 20:43:22 +00:00
Mathew Sutcliffe
e436fa3870
refs #345 Tuple tweaks to improve error messages.
2014-11-10 20:43:08 +00:00
Klaus Basan
6aba823f4f
refs #327 , CRTP for CValueObject classes
...
* using toMetaTuple, no jsonMembers function
* no un/equal operator as discussed
2014-09-11 18:34:27 +02:00
Klaus Basan
3fb5087ea8
Renaming, header, Doxygen, formatting (during refs #314 )
2014-08-24 02:45:52 +02:00
Mathew Sutcliffe
1afef03c6d
refs #210 workaround an apparent bug in 64bit MSVC by using a signed type for tuple flags
...
(using a smaller unsigned type also worked)
2014-06-19 20:08:28 +01:00
Mathew Sutcliffe
fbb89375da
refs #210 added jsonName in Private::Attribute
...
* Explicit JSON name can be set for tuple members
* Names can still be extracted by preprocessor stringification if not explicitly set
* In both cases, names are embedded in Attribute metadata, so no need to call jsonMembers() in the value classes
2014-06-18 23:46:31 +01:00
Mathew Sutcliffe
11824206a1
refs #210 added Private::Attribute
...
* An Attribute contains a reference to a data member, plus some metadata
* Creates the concept of a "meta tuple", a tuple of Attribute objects
* New facilities in TupleConverterBase to be used inside the macro
* Flags allow individual data members to be selectively enabled or disabled depending on how the tuple is used
* Selective enable/disable is implemented by removing the indices of the flagged members from the index_sequence
2014-06-18 23:45:01 +01:00
Mathew Sutcliffe
45260258d6
refs #245 & #210 moved TupleConverter's parsing of the stringified macro argument into a base class, ready for further extension
2014-06-13 13:16:07 +01:00
Mathew Sutcliffe
9766b5c63a
refs #245 & #210 style
2014-06-13 13:16:07 +01:00
Mathew Sutcliffe
2eb16ce9da
refs #245 & #210 with proper variadic templates we can use index_sequence to simplify some of the recursion in the tuple system
2014-06-13 13:16:06 +01:00
Mathew Sutcliffe
5d38812482
refs #245 TupleConverter specialization for class templates can use a variadic parameter pack to support templates taking any number of parameters
2014-06-13 13:16:05 +01:00
Mathew Sutcliffe
b0ecaff4da
refs #245 removed nested tie workarounds for tuples with >10 members
2014-06-13 13:16:05 +01:00
Mathew Sutcliffe
05fd6fbcae
refs #245 removed fake variadics for tuples and predicates
2014-06-13 13:16:04 +01:00
Mathew Sutcliffe
f601334ffa
refs #192 tweaking include order and moving some JSON things into global namespace
...
so that we invoke ADL instead of relying on a particular include order
2014-03-31 23:48:39 +01:00
Mathew Sutcliffe
8405049a85
refs #140 added streaming for tuples to QDebug
2014-03-31 23:48:38 +01:00
Mathew Sutcliffe
a34357603d
integration fixes for JSON to be compatible with the nested tie workaround for tuples with more than 10 members
...
refs #202 , #192 & #182
2014-03-31 22:36:02 +01:00
Mathew Sutcliffe
f8d991ec04
tuples: make the fake variadics more simple by sharing more code with the real variadics
2014-03-31 22:35:42 +01:00
Mathew Sutcliffe
1dfb406d54
Replaced std::tie with BlackMisc::tie, to help workaround tuples with more than 10 members.
...
This required some changes to the signatures of compare, qHash, and stream operators.
refs #182
2014-03-28 17:02:49 +00:00
Mathew Sutcliffe
6cf5089b18
minor style improvement:
...
traits class should have a static const bool value member
2014-03-28 17:00:51 +00:00
Mathew Sutcliffe
3ac59f0872
fixing typos, doxygen, and style from #192
2014-03-28 15:02:47 +00:00
Klaus Basan
9d1f8a63f3
refs #192 , added JSON support to tupel
...
* jsonMembers() method in Macro
* serializeJson / deserializeJson for tupels
2014-03-26 19:51:03 +01:00
Klaus Basan
5ef31069d2
refs #140 , Doxygen comments to avoid warnings
2014-03-10 14:57:29 +01:00
Mathew Sutcliffe
e93ef236af
refs #140 doxygen, comment, and include tweaks
2014-03-07 23:15:58 +01:00
Mathew Sutcliffe
fcd3dc09ef
refs #140 framework for using std::tuple to reduce repetitive coding in value classes
2014-03-07 23:01:25 +01:00