Commit Graph

35 Commits

Author SHA1 Message Date
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