Commit Graph

40 Commits

Author SHA1 Message Date
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
Klaus Basan
b9c6541a55 Add default unit for "rec.gnd.positions" radius
* utility functions
* append default unit to PQ string if needed
2020-06-12 18:42:25 +01:00
Mat Sutcliffe
4a0d8e9864 Fixed most Qt 5.14 deprecation warnings 2020-01-07 19:57:25 +00:00
Mat Sutcliffe
6d9f9a286d Ref T552 Using QDataStream marshalling mixins in value classes. 2019-04-12 13:30:55 +01:00
Mat Sutcliffe
980e1d7b80 Restored constexpr initialization and return-by-value of CMeasurementUnit constants
that were removed by commit 787b54108e.

For rationale, see the commits fef2bc528e, c8d78ada65, 07ec7e6bc1 where these
were originally introduced.
2019-04-12 13:30:48 +01:00
Mat Sutcliffe
798a0b8f06 Using friend function comparison and arithmetic operators, for parameter symmetry. 2019-04-11 22:12:03 +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
ef21ec67f3 Ref T424, PQ strings without (thousand) separators
* separator can cause issue when sending data (WebService, FSD)
* re-parsing (print and parse again) can cause to undesired results as the separator is mistaken as decimal separator with a different locale
* separator now a parameter so it can still be used
2018-11-06 01:41:48 +01:00
Klaus Basan
8f6b6229fb CLANG fixes for measurement unit 2018-09-12 17:40:22 +02:00
Klaus Basan
a9d728f451 Ref T338, utility functions / parsing
- nthIndexOf
- measurement unit can be parsed case insensitive
- CSimpleCommandParser::remainingStringAfter from n-th space
- improved frequency parsing
2018-09-12 17:01:41 +02:00
Klaus Basan
3d2d999f7a Ref T338, style 2018-09-09 02:55:16 +02:00
Roland Winklmeier
ca9a2e5fd1 Fix floating point comparison 2018-08-25 22:12:03 +02:00
Roland Winklmeier
08e06c6ed1 Fix float to double conversion 2018-08-25 22:12:02 +02:00
Klaus Basan
740de9786f Fixed function "endsStringWithNameOrSymbol" to "const" 2018-05-08 16:06:54 +02:00
Mathew Sutcliffe
3ae5e274ee Removed workarounds that were needed to support older versions of MSVC. 2017-11-14 17:51:02 +00:00
Roland Winklmeier
c91aa0d58e Change template parameter to disambiguate call to QLatin1String constructor
Summary:
Qt 5.10 added a new constructor overload which made the call to QLatin1String
constructor with size_t as second parameter ambigious.

Reviewers: #swift_pilot_client, msutcliffe

Reviewed By: #swift_pilot_client, msutcliffe

Subscribers: jenkins

Differential Revision: https://dev.swift-project.org/D47
2017-09-24 19:52:41 +01:00
Klaus Basan
e55480737e Ref T111, lat/lng/angle changes
* get struct CAngle::DegMinSecFractionalSec to obtain parts
* round to epsilon utility functions and fix (qint64)
2017-09-24 19:51:09 +01:00
Mathew Sutcliffe
07ec7e6bc1 T73 Pass units by value.
Class types which are trivial to copy should be passed by value.
2017-05-14 17:21:30 +01:00
Mathew Sutcliffe
c8d78ada65 T73 Flyweight pattern based on pimpl, to reduce CMeasurementUnit memory usage.
* All members of CMeasurementUnit moved into nested pimpl class Data.
* CMeasurementUnit has only one member: a pointer to a const Data.
* Static const CMeasurementUnits replaced with static const Datas.
* Each CMeasurementUnit singleton method returns by-value a CMeasurementUnit containing a pointer to a static const Data.
* Means CMeasurementUnit is trivial to copy because we never copy the pimpl members.
** Works because the available units are fixed at compile time so we never need to create novel units at runtime.
2017-05-14 17:21:23 +01:00
Mathew Sutcliffe
fef2bc528e T73 Enabled for constexpr, to take advantage of constant-initialization.
* CMeasurementUnit and every one of its members is a literal type.
** This requires using QLatin1String instead of QString.
* Every static const CMeasurementUnit is static constexpr.
** This means they are initialized at compile time, no runtime initialization needed.
2017-05-14 17:13:40 +01:00
Mathew Sutcliffe
5e4349bba6 T73 Style. 2017-05-14 15:08:04 +01:00
Mathew Sutcliffe
48482d8d1e T73 CMeasurementUnit converter strategy based on function pointers.
Because function pointers are literal types, so they can be constexpr.
2017-05-14 15:08:03 +01:00
Roland Winklmeier
3d7a39ed00 Fix BlackMisc header includes
* Include only what is used
* Use forward declaration when possible
* Sorted includes

refs #630
2016-05-13 17:05:49 +02:00
Mathew Sutcliffe
4bd4baa535 refs #628 Use the metaclass mixins in all value classes. 2016-04-03 18:17:43 +01:00
Klaus Basan
c3722f9198 refs #485, refs #584 removed include blackmiscfreefunctions.h 2016-03-18 01:07:49 +00:00
Roland Winklmeier
7953d550ea Fix linux clang errors and warnings
refs #596
2016-02-15 18:35:34 +01:00
Roland Winklmeier
794bf0cd74 Fix doxygen copydoc documentation
The following issues were fixed
* Fixed wrong/missing namespaces
* Fixed obvious typos in documentation
* Documentation not in sync with source code

refs #544
2016-02-08 01:53:17 +01:00
Mathew Sutcliffe
e6011ec7cd refs #552 Style & doxygen. 2015-12-13 16:38:13 +00:00
Mathew Sutcliffe
c1d57b8971 refs #552 Fixed broken SubdivisionConverter, and added another test to verify. 2015-12-13 16:38:10 +00:00
Mathew Sutcliffe
1f36f07bed refs #552 Fixed broken SubdivisionConverter2, and added a test to verify. 2015-12-13 16:38:07 +00:00
Mathew Sutcliffe
b1a3793c2f refs #466 Resolved miscellaneous TODO items. 2015-11-19 21:01:02 +00:00
Roland Winklmeier
2d9e9863c2 refs #449 Implement SubdivisionConverters with less precision errors 2015-11-19 20:57:39 +00:00
Mathew Sutcliffe
36a2e1a2bb refs #413 All value classes which had custom policies shall inherit from mixins instead. 2015-05-12 20:37:50 +01:00
Mathew Sutcliffe
6b40cde862 refs #413 Make all value class methods non-virtual.
toCVariant() and convertFromCVariant() are now deprecated,
use CVariant::from() and CVariant::to() instead.
2015-05-12 20:37:47 +01:00
Mathew Sutcliffe
b64ae55a86 refs #413 Access control of convertToQString changed from protected to public. 2015-05-12 20:37:43 +01:00
Mathew Sutcliffe
30cc7048ac refs #413 Decomposed dbus-related functions of CValueObject into Mixin::DBusByTuple. 2015-05-12 20:37:31 +01:00
Mathew Sutcliffe
2f55caf7c6 refs #413 Decomposed hash-related functions of CValueObject into Mixin::HashByTuple. 2015-05-12 20:36:04 +01:00
Roland Winklmeier
a089d3641d refs #403 add BlackMisc shared library build 2015-05-05 21:34:19 +02:00
Roland Winklmeier
b8ae30f40c refs #403 comment overloaded CMeasurementUnit::stringForStreaming() 2015-05-05 21:29:56 +02:00
Mathew Sutcliffe
2363fab8c1 refs #396 move Blackmisc PQ classes into subfolder 2015-04-07 19:22:30 +02:00