Mat Sutcliffe
647e9064b0
Issue #77 Break cyclic dependency between CIcon and all other value classes
2020-12-19 18:50:32 +00:00
Mat Sutcliffe
d1b6776c44
Issue #77 Break dependency of sequence on propertyindex
2020-08-29 23:25:50 +01:00
Mat Sutcliffe
b80114213d
Issue #77 Move mixin classes to separate files
...
By separating them from unrelated code, their dependents
can use them without depending on unrelated code, which
in turn helps to reduce cyclic dependencies.
2020-08-29 14:16:17 +01:00
Mat Sutcliffe
2dc86652c2
Issue #77 Include style
2020-08-28 00:45:26 +01:00
Mat Sutcliffe
07f6c8b73c
Issue #15 CVariant can convert between CVariantList and our other container classes
2020-08-01 13:18:55 +01:00
Mat Sutcliffe
e8a0a0b6ba
Issue #15 Register CSequence as a sequential container metatype
2020-07-31 00:57:46 +01:00
Klaus Basan
466c761616
Ref T773, gcc/clang warnings
...
Remark: "assuming signed overflow does not occur when assuming that (X - c) > X is always false"
2020-06-12 18:42:33 +01:00
Klaus Basan
6e99bf2e02
Ref T701, utility functions
2019-09-16 22:40:19 +01:00
Mat Sutcliffe
6d9f9a286d
Ref T552 Using QDataStream marshalling mixins in value classes.
2019-04-12 13:30:55 +01:00
Mat Sutcliffe
e9a4c49d68
Ref T547 Update license masthead in all source code files.
2019-02-22 20:36:43 +00:00
Klaus Basan
14c3c51585
Ref T529, get reversed sequence
2019-02-22 20:36:00 +00:00
Klaus Basan
17f67d6106
Style
2019-02-22 20:35:53 +00:00
Mat Sutcliffe
4f2579b812
Ref T275 testaircraftsituation: detach lists to get meaningful benchmark results.
2019-02-22 20:34:58 +00:00
Mat Sutcliffe
4c0bbbae25
Fixed warnings reported by Clang on Windows.
2019-02-22 20:23:27 +00:00
Mat Sutcliffe
71de01065b
Ref T464 Implement removal of one sequence from another in O(n),
...
assuming that elements in both sequences are in the same order in both.
2018-12-14 19:57:29 +01:00
Klaus Basan
7e47349b30
Ref T386, partial sort
2018-10-05 17:39:59 +02:00
Klaus Basan
6bcded9264
Style
2018-07-09 22:30:20 +02:00
Klaus Basan
f7a0c69fc8
Ref T270, push front for sequence and unified "insert" -> "push_back"
...
Remark: "CSequence::insert" is a synonym "push_back". This makes it clearer that push_back is used.
2018-06-01 01:30:33 +02:00
Klaus Basan
47afc4d6fc
Conversion function to int, which can be used when int is needed to avoid
2018-05-12 21:40:18 +02:00
Klaus Basan
89f98a3137
Ref T240, added push_backMaxElements in CSequence
2018-02-04 08:59:45 +01:00
Klaus Basan
51ba6398bb
Ref T241, Ref T243, ITimestampWithOffsetObjectList
...
* there was already ITimestampWithOffsetBased for objects
* this creates the container version
* functions to add objects (parts/situations) and guarantee the sort order
* moved push_frontMaxElements to CSequence (not specific for timestamp lists)
* added in-place reverse
2018-02-04 08:53:50 +01:00
Klaus Basan
fa6f83d87b
Ref T218, sequence replaceOrAdd overloads
2018-01-14 18:45:50 +01:00
Mathew Sutcliffe
fcb6cf1a52
Removed type erasure in containers
...
Summary:
Refs T196
Using QVector as this is Qt's recommended container type.
Reviewers: #swift_developers, rwinklmeier
Reviewed By: #swift_developers, rwinklmeier
Subscribers: rwinklmeier, jenkins
Tags: #swift_pilot_client
Maniphest Tasks: T196
Differential Revision: https://dev.swift-project.org/D61
2017-11-23 22:15:23 +00:00
Mathew Sutcliffe
921ef30eda
Use C++14 features to simplify our container base classes
...
Summary: Using C++14 function return type deduction we can simplify the CRTP in CContainerBase etc.
Reviewers: #swift_developers, rwinklmeier
Reviewed By: #swift_developers, rwinklmeier
Subscribers: jenkins
Tags: #swift_pilot_client
Differential Revision: https://dev.swift-project.org/D65
2017-11-23 21:59:09 +00:00
Mathew Sutcliffe
b20ebd6dfd
refs #937 Resolved clazy warnings: rule of three.
2017-04-19 19:31:44 +01:00
Mathew Sutcliffe
4d30ce40c7
refs #852 Added reverse iterators to CRange and CSequence.
2017-02-24 00:17:44 +00:00
Mathew Sutcliffe
95bfff36b0
refs #800 Use int as size_type for compatibility with Qt containers.
2016-12-13 19:00:41 +01:00
Mathew Sutcliffe
3351b1f8e1
refs #800 Fixed warning: deprecated implicit copy ctor/assign with user-declared dtor (rule of zero).
2016-12-13 19:00:38 +01:00
Mathew Sutcliffe
c9ddb2ba39
Added missing methods in CSequence.
2016-12-06 09:46:53 +01:00
Mathew Sutcliffe
323a5bb12f
refs #698 CSequence iterator should be random access to improve STL algorithm efficiency.
2016-07-04 23:43:33 +01:00
Mathew Sutcliffe
a209f961a6
refs #698 Added unorderedEqualsByKeys method for sequences.
2016-07-04 23:43:29 +01:00
Mathew Sutcliffe
b859bead0c
refs #700 Added sortByProperty method for sequences.
2016-07-04 23:43:20 +01:00
Mathew Sutcliffe
e20c8bbcbd
Doxygen style.
2016-07-04 23:40:30 +01:00
Mathew Sutcliffe
a895cc2c54
refs #624 Removed many workarounds, no longer needed.
2016-03-22 16:02:58 +00:00
Mathew Sutcliffe
6f1cf8e3d7
refs #624 Replace typedef with using.
2016-03-22 16:02:50 +00:00
Mathew Sutcliffe
91494ea2e5
refs #624 Swap functions, move constructors, and move assignment operators should all be noexcept where possible.
2016-03-21 02:20:01 +00:00
Mathew Sutcliffe
3bdcd7e386
refs #584 Moved hash related stuff to dictionary.h
...
This also means moving Mixin::Icon from CContainerBase one step down the inheritance hierarchy
to resolve what would otherwise have been a circular include dependency.
2016-02-08 17:26:45 +00:00
Mathew Sutcliffe
8d9b3c6e7f
CSequence::separate splits up a sequence into a map of sequences categorized by some predicate.
2016-01-27 23:37:42 +00:00
Mathew Sutcliffe
6ddce24f0c
Improved efficiency of CSequence::removeIf, but CCollection::removeIf must still use the old algorithm.
2016-01-27 23:37:41 +00:00
Mathew Sutcliffe
886f9937ce
Fixed errors found while trying to compile with Clang on Windows.
2015-12-08 21:16:57 +00:00
Klaus Basan
71c219842f
Fixed doxygen warnings, can be refined as required
2015-11-19 21:06:47 +00:00
Mathew Sutcliffe
eb45d7a409
refs #484 CSequence: added partiallySort family of methods.
2015-11-19 21:04:59 +00:00
Mathew Sutcliffe
e3319f0dae
refs #481 Removed old randomElements.
2015-11-19 21:02:58 +00:00
Klaus Basan
ad1938b8d8
refs #452 , allow to pick random elements from collection
...
(will be used in view resizing)
2015-11-19 20:58:57 +00:00
Roland Winklmeier
41e17aa0c7
Add CSequence::removeIfIn(const CSequence &other)
...
Remove all elements if they are in other
2015-11-19 20:57:57 +00:00
Roland Winklmeier
a7b71d974b
Fix segfault in CSequence::operator <()
2015-11-19 20:57:55 +00:00
Mathew Sutcliffe
5a91d761c2
refs #413 Breaking circular dependencies by moving mixin classes from valueobject.h to the files where they fit best:
...
* DBus mixins moved to dbus.h
* Json mixins moved to json.h
* Icon mixin moved to icon.h
* Comparison mixins moved to compare.h
* Hash and string mixins moved to blackmiscfreefunctions.h
* Index mixin moved to propertyindexvariantmap.h
* MetaType mixins moved to variant.h
* registerMetaValueType moved to variant.h
* valueobject_private.h renamed to variant_private.h
2015-05-12 20:37:59 +01:00
Mathew Sutcliffe
36d116b4e9
refs #413 Removed one overload of CRange::findBy and one of CSequence::applyIf; they were never used and they caused a circular dependency.
...
Templatized another overload of applyIf to break a circular dependency.
2015-05-12 20:37:53 +01:00
Mathew Sutcliffe
31c33b4b8d
refs #356 Removed CValueObject and expanded CValueObjectStdTuple to compensate.
...
* Involves rearranging some header includes to break cyclic include dependencies,
* Adding a new, simple base class CEmpty,
* Removing any remaining polymorphic uses of CValueObject with templates,
* Adding a new trait for use with enable_if to restrict templates to work only with value objects,
* Replacing the polymorphic/runtime multimethod-based compare functions with static/compile-time compare functions.
2015-03-27 19:08:51 +00:00
Roland Winklmeier
ab98009996
Several gcc and clang fixes
...
This superseeds also f1199793 by a cleaner workaround.
2015-03-24 10:47:32 +00:00