Commit Graph

15 Commits

Author SHA1 Message Date
Mathew Sutcliffe
48f04a4750 refs #247 Using CVariant in property index system. 2014-12-13 01:41:58 +00:00
Klaus Basan
d1d02d6c3c refs #288, improved validation in some value objects 2014-11-30 00:55:06 +01:00
Mathew Sutcliffe
4c8148acf1 refs #345 First wave of value classes using the CValueObjectStdTuple CRTP class template. 2014-11-10 20:44:25 +00:00
Klaus Basan
40b428a315 refs #314, renamed convertFromQVariant, convertFromJson
discussion: https://dev.vatsim-germany.org/issues/314#note-19
2014-08-24 02:47:16 +02:00
Klaus Basan
e109d73ba2 refs #314, new propertyBy methods (nested indexes) 2014-08-24 02:46:59 +02:00
Klaus Basan
3fb5087ea8 Renaming, header, Doxygen, formatting (during refs #314) 2014-08-24 02:45:52 +02:00
Klaus Basan
b8390f470c refs #267, extended ICAO class 2014-06-23 01:19:20 +02:00
Klaus Basan
9c5726dc13 refs #23, anticipating aircraft ICAO code from VATSIM data file
* helper methods
* renamed methods
2014-06-09 14:43:23 +02:00
Klaus Basan
88fb9e8832 refs #192, enable value objects for JSON:
* from/toJson methods
* jsonMembers where applicable
2014-03-26 20:18:42 +01:00
Klaus Basan
2911c1d14a refs #127, CAircraftIcao: rename members 2014-03-11 01:28:27 +01:00
Mathew Sutcliffe
7f92b5dbc9 refs #140 to demonstrate the new tuple framework, adapted five typical value classes to use it 2014-03-07 23:15:57 +01:00
Mathew Sutcliffe
2dd72c6d3e refs #104 replaced all remaining hash-based comparisons with the multimethod compare() 2014-02-17 16:37:01 +00:00
Klaus Basan
116db9a425 refs #91 & #124 doxygen fixes, style/comment changes, typos, and override / nullptr keywords
Remark: Doxygen <70 warnings
2014-02-07 01:09:31 +01:00
Mathew Sutcliffe
db4c05dd9f refs #84 removed the CValueObject::compare method and added a friend function BlackMisc::compare to replace it.
The new compare is implemented using "multimethods" described in the book Advanced C++ Programming Styles and Idioms by James Coplien.

First, the isA method is used to determine which of the values being compared is the most general. (For example, CLength is more general than CAltitude.)
Then the compareImpl method is called on the most general value, with the other value as an argument.
If there is not a direct inheritance relation between the two values (or they are the same class) then the comparison is invalid and a assert is triggered.
2014-01-17 01:38:27 +00:00
Klaus Basan
4747b3b484 new value objects for aviation, network, and settings
refs #81
2014-01-08 00:59:39 +00:00