Maxime Coste
7030b3c47c
Remove compare include that seems to break clang
2023-01-21 11:06:22 +11:00
Maxime Coste
20278ed52b
Support adding ByteCount to void/char pointers without casting
2022-12-15 13:29:45 +11:00
Maxime Coste
860b20ef0a
Try to fix more CI failures related to C++20
2021-11-21 20:16:58 +11:00
Maxime Coste
532a7d7a9e
Fix clang C++20 compilation issues
2021-11-21 20:06:14 +11:00
Maxime Coste
ab9d78f50d
Convert comparisons to spaceship operator
2021-11-21 09:44:56 +11:00
Maxime Coste
d486ea84e5
Constexprify various hash functions
2017-10-20 12:21:22 +08:00
Maxime Coste
753f3a50d1
Make StringView and unit types trivial types
2017-01-29 13:49:45 +00:00
Maxime Coste
35559b65dd
Support codepoints of variable width
...
Add a ColumnCount type and use it in place of CharCount whenever
more appropriate, take column size of codepoints into account for
vertical movements and docstring wrapping.
Fixes #811
2016-10-01 13:45:00 +01:00
Maxime Coste
717e37f2f3
Add checked, explicit conversion from strongly typed number for size_t
2016-04-27 09:46:53 +01:00
Maxime Coste
5217089902
Fix uses of non-keyword logical operators (replace &&, || and ! with and, or and not)
2015-12-27 23:28:34 +00:00
Maxime Coste
11528e45e9
Use friend functions rather than methods for StronglyTypedNumber binary ops
2015-05-13 23:22:48 +01:00
Maxime Coste
3982131753
Fix StronglyTypedNumbers::abs
2015-04-17 01:01:58 +01:00
Maxime Coste
731c27c094
Add a 'abs' friend function to StronglyTypedNumber
2015-04-13 15:20:47 +01:00
Maxime Coste
a0e8e4265a
coords/units hashing refactoring
2015-03-11 13:59:25 +00:00
Maxime Coste
ebecd60eb8
Rework hashing, use a more extensible framework similar to n3876 proposal
...
std::hash specialization is a pain to work with, stop using that, and
just specialize a 'size_t hash_value(const T&)' free function.
2014-12-16 18:57:19 +00:00
Maxime Coste
9240cccf74
set Coords/Counts methods as always_inline
...
They are well tested, and we never want to step into them when debugging
2014-05-17 10:17:28 +01:00
Maxime Coste
04ae48c346
indent cleanup, correct erroneous 3 spaces indent
2013-11-14 00:12:15 +00:00
Maxime Coste
83a6375263
Fix StronglyTypedInteger::operator%=
2013-11-11 19:11:17 +00:00
Maxime Coste
f2a902f682
Add modulo operators to StronglyTypedNumber
2013-11-06 19:10:35 +00:00
Maxime Coste
5d681f9efe
StronglyTypedNumber: take parameters by value
2013-07-26 01:49:57 +02:00
Maxime Coste
417682883e
use only one constructor with a default parameter for units
2013-03-27 18:42:38 +01:00
Maxime Coste
36dc6c23a0
add default zero construction to units
2013-03-26 00:04:03 +01:00
Maxime Coste
eaaf88db1d
rename StronglyTypedInteger to more accurate StronglyTypedNumber
2013-01-14 18:51:45 +01:00
Maxime Coste
4b649d386c
various code style fixes
2013-01-04 18:39:13 +01:00
Maxime Coste
561cc72d6c
Add a ByteCount unit
2012-10-11 00:13:31 +02:00
Maxime Coste
946b4650b6
fix postfix StronglyTypedInteger::operator{++,--}
2012-10-02 14:19:45 +02:00
Maxime Coste
514aeead63
do not use our broken safe bool, c++11 explicit bool conversion is better
2012-10-02 14:18:34 +02:00
Maxime Coste
aac30a27e7
use more constexpr
2012-09-04 23:54:10 +02:00
Maxime Coste
e4fd839dda
use a strongly typed int CharCount for character counts
2012-08-23 23:56:35 +02:00
Maxime Coste
0d8cce2728
use a strongly typed int LineCount for line counts
2012-08-22 23:33:52 +02:00