Commit Graph

28 Commits

Author SHA1 Message Date
b7f8d73d95 string: add lstrip, rstrip, strip 2022-05-02 14:26:06 +10:00
a88fb9809d string: correct the lower comparator for cstrings 2022-02-15 13:22:03 +10:00
2d0324f17a string: handle trailing/leading delimiters in tokeniser 2021-12-17 10:32:19 +10:00
e75b1f571c string: rename compare as equality 2021-11-22 10:42:19 +10:00
a94cd677bd tap: use fmtlib specifiers 2021-04-13 16:05:08 +10:00
b0ac349f70 string: fancy comparators should take only string_views
This reduces complications dealing with implicit casts from things like
'std::string' which are fairly common.
2020-10-21 10:23:04 +10:00
8cdbbcb26e build: fix range-loop-analysis warnings 2020-02-17 17:40:03 +11:00
03786f3fcc string: add to_lower and tests 2019-11-26 08:10:04 +11:00
654f391cba string: add upper comparator 2019-05-02 11:03:22 +10:00
46c2153434 string: add string_less comparator 2019-05-01 12:39:19 +10:00
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
2f6c845409 string: fixup tokeniser::contains 2019-02-20 15:51:54 +11:00
2ce92cb2c8 string: add stub 'contains' query 2019-02-20 14:45:57 +11:00
e2eaa1a7af string: add tests for character_position 2018-10-17 11:48:03 +11:00
98e935d4d7 string: extract tokeniser tests into a function 2018-10-16 18:06:45 +11:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
47613c5ec2 string: remove unneeded rval-ref qualifier 2018-03-27 16:21:20 +11:00
1b023f7c8d iterator: improve reference semantics 2018-03-27 15:49:47 +11:00
35e3f69ad2 maths, view: rationalise equal,almost_equal,==
views should not do elementwise comparisons for equality operators.
they are pairs of iterators and are only equal if their iterators are
equal.

instead, use `equal` for elementwise equality. we update the name of
exactly_equal to perform this operation too.
2018-01-31 19:33:42 +11:00
c4e0cd31f9 string: move tokeniser into the header
This allows more varied template parameters to be used.
2018-01-30 12:53:43 +11:00
202c22eee8 view: simplify logical comparator implementation
we remove some duplicate and specific logical comparator specialisations
and instead rely on a base view/view comparator implementation by way of
make_view.
2017-12-20 12:31:52 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
d3f434b523 coord: make template parameters more flexible
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.

We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.

The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
cfa272a80a string: allow tokenisation of c arrays 2017-09-15 15:22:29 +10:00
a93dd90da9 types: remove elems function, prefer std::size
Now that std::size is part of our supported compilers we can remove the
old elems function.
2016-11-17 18:06:39 +11:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
eacd2f6072 string: allow cstring tokenisers 2016-03-18 11:08:12 +11:00
6a1ea8ff29 string: add tokeniser 2016-03-17 18:14:40 +11:00