Commit Graph

13 Commits

Author SHA1 Message Date
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
ded6fc012e rename CStreamable to CValueObject
refs #81
2014-01-08 00:58:50 +00:00
Klaus Basan
978f3c88e5 style changes and removals of typeid
refs #81
2014-01-08 00:57:43 +00:00
Mathew Sutcliffe
a6f89ce9ea renamed CBaseStreamStringifier to CStreamable 2013-08-19 03:05:09 +01:00
Mathew Sutcliffe
2c781e8b36 style fixes: mostly just things that make my eyes bleed :) 2013-08-13 22:29:48 +01:00
Klaus Basan
2fc08a0376 Enabled DBus with matrix classes, noticed issue with QList Signature (ad, addddd) 2013-07-25 00:10:50 +02:00
Klaus Basan
9b2cb3b517 Shifted DBus operators to CBaseStreamStringifier, much easier to provide streaming - especially for derived classes.
Still required but unwanted overloaded DBus operator in aviomodulator.h - no compilation without them. Need to be removed.
Enabled more classes for DBus.
2013-07-24 02:20:32 +02:00
Klaus Basan
8b512ba818 DBus enabling of base classes plus sample for testing / show how to use them. Also qdbuscpp2xml plugin for blackmisc classes. 2013-07-22 14:33:50 +02:00
Klaus Basan
abfd72552b Removed template from basestreamstringifier as discussed in https://dev.vatsim-germany.org/boards/15/topics/497?r=503 2013-05-10 22:56:36 +02:00
Klaus Basan
8ffa443a69 Revised avionics (stringifier) and matrix operations 2013-04-19 14:36:30 +02:00
Klaus Basan
e196a5585f Added legal header, changed include guards to contain namespace prefix e.g BLACKMISC_XYZ_H 2013-04-10 00:50:25 +02:00
Klaus Basan
9a87731944 Avionics classes for Transponder, ADF, changed namespace to 2ndlevel 2013-04-09 02:00:38 +02:00
Klaus Basan
eb102372f1 Individual (per object) conversion as well as per unit (class) now possible, this is required for sexagesimal conversion (degrees) and will be required for geo-positions. Further classed for avionics. 2013-04-05 02:29:52 +02:00