Mat Sutcliffe
0a121d913d
Own implementation of std::tuple with reduced functionality
...
To reduce compile time.
2021-10-11 14:20:07 +01:00
Mathew Sutcliffe
0acb302c63
refs #628 Remove the old tuple system.
2016-04-03 18:17:44 +01:00
Mathew Sutcliffe
6f1cf8e3d7
refs #624 Replace typedef with using.
2016-03-22 16:02:50 +00:00
Mathew Sutcliffe
a8fc899219
refs #624 Use std alias traits.
2016-03-22 16:02:48 +00:00
Mathew Sutcliffe
eb4df2d893
refs #624 Use auto function return type deduction.
2016-03-22 16:02:33 +00:00
Michał Garapich
1b06e15b61
refs #510 Remove underscores from all the source file names
2015-11-22 12:53:09 +01:00
Roland Winklmeier
a089d3641d
refs #403 add BlackMisc shared library build
2015-05-05 21:34:19 +02:00
Mathew Sutcliffe
9977d97a67
refs #356 Renamed CValueObjectStdTuple to CValueObject.
2015-03-27 23:03:25 +00:00
Mathew Sutcliffe
2b9d4098d4
refs #345 Extending CValueObjectStdTuple with policy classes to enable it to be used by classes which have different requirements.
2014-11-10 20:45:07 +00:00
Mathew Sutcliffe
ecf8e6aafb
refs #345 Added a metatuple flag for case insensitive comparisons, so CAirportIcao and CCallsign comparisons can use metatuples.
2014-11-10 20:44:11 +00:00
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