Commit Graph

16 Commits

Author SHA1 Message Date
Mathew Sutcliffe
a5d8f6c8f0 refs #91 fixed \copydoc commands in Doxygen comments for CContainerBase 2014-02-08 15:01:59 +00:00
Klaus Basan
526cd916a8 refs #91 & #124 doxygen fixes, style/comment changes, typos, and override keywords 2014-02-06 03:22:42 +01:00
Mathew Sutcliffe
f8780d0075 fixes #114 incorrect iterator increment in for loop in CContainerBase::removeIf 2014-02-02 16:34:17 +00:00
Mathew Sutcliffe
c27da2e38a refs #108, added CContainerBase::to, for converting between different container types 2014-01-28 20:30:50 +00:00
Mathew Sutcliffe
7c8aa8226d const corrections 2014-01-28 20:19:06 +00:00
Mathew Sutcliffe
d48d8ed951 refs #106, moved removeIf from CSequence to CContainerBase and added remove method in CCollection (CSequence already had a remove method) 2014-01-28 18:30:06 +00:00
Mathew Sutcliffe
1e153b45f0 refs #108, added find methods in CSequence and CCollection;
CSequence uses std::find, and CCollection uses the more efficient find method of the implementation type,
which requires that the implementation type be an associative container like QSet or std::set.
Modified CContainerBase::contains to use these new find methods.
2014-01-28 18:25:14 +00:00
Mathew Sutcliffe
d073681630 minor doxygen fixes 2014-01-28 01:50:30 +00:00
Mathew Sutcliffe
6f19d0a479 containers: added methods contains(), remove(), replace(), replaceOrAdd(),
corresponding to contains(), removeIf(), replaceIf(), and replaceOrAdd(), but overloaded for const T& as well as for predicates.
refs #106
2014-01-25 19:36:42 +00:00
Mathew Sutcliffe
33d555e151 moved removeIf from CContainerBase to CSequence because it can't work with non-sequential containers, fixes #106 2014-01-25 19:36:42 +00:00
Mathew Sutcliffe
3d3a43602f removed unnecessary \param and \return lines from doxygen comments for container classes, refs #91 2014-01-25 19:36:41 +00:00
Klaus Basan
f883babc20 Only Doxygen fixes in order to answer
https://dev.vatsim-germany.org/boards/22/topics/1417?r=1432#message-1432

Fixed some Doxygen warnings along with it
No code changes!
2014-01-17 22:53:37 +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
Roland Winklmeier
05c121b214 Fixed a mistake where CContainerBase::marshallToDbus was using the wrong version of QDBusArgument::beginArray,
leading to the qdbuscpp2xml error "read from a write-only object" reported by Klaus.
2014-01-11 16:58:32 +00:00
Mathew Sutcliffe
08e978c8d6 moved from CContainerBase to CSequence those methods which only support sequential containers
refs #81
2014-01-10 00:20:21 +00:00
Mathew Sutcliffe
a57e640398 generic type-erased container types CSequence and CCollection, including predicate-based algorithms
refs #81
2014-01-08 00:59:31 +00:00