Commit Graph

69 Commits

Author SHA1 Message Date
bfa5700df0 view: add string comparison operators 2018-04-01 14:44:15 +10:00
41cf6c3d51 view: slice should be const 2018-04-01 14:44:08 +10:00
7568e34649 view: don't force const iterators for cbegin/cend 2018-03-23 14:40:40 +11:00
58843fb0c7 view: use trivial constructors and assignment
this allows us to fulfil the requirements of TriviallyCopyable which is
useful particularly in dumb allocators and job queues.
2018-03-23 14:10:57 +11:00
2d7e3e5d7d build: prefer iosfwd over iostream 2018-03-22 16:11:13 +11:00
84f8600f85 view: add const array ref template deduction 2018-03-20 13:35:10 +11:00
7e11707c39 view: remove ambiguous operator-
this operation is identical to the more appropriately named 'consume'
which should be used in its stead.
2018-03-02 12:21:38 +11:00
79d19b4f4f view: add noexcept to data()
This prevents GCC from warning about possible noexcept additions
(-Wnoexcept)
2018-02-26 10:55:10 +11:00
db4f09628f view: add make_byte_view convenience method. 2018-02-01 13:49:28 +11:00
8c8a252d9f build: prefer nodiscard over warn_unused_result 2018-02-01 13:47:42 +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
6f14c7c65b view: allow implicit conversion from const*const* to const** 2018-01-30 16:25:48 +11:00
32a4aa23e5 view: add slicing operation, stolen from python 2018-01-30 12:53:43 +11:00
b4e242ffd4 Merge remote-tracking branch 'origin/master' 2018-01-16 15:17:25 +11:00
c6d025453a view: avoid signed comparison issues with sizes 2018-01-16 13:31:53 +11:00
09aa86f55f crypto: remove cryptography primitives
This code can now be found in libcruft-crypto. It was removed to prevent
people relying on it, and to improve test iteration times in unoptimised
builds.
2018-01-14 17:13:21 +11:00
681768093e hash: use a consistency, less flexible, interface 2018-01-13 15:24:12 +11:00
2f31cb5a1d view: disambiguate equality operators 2018-01-10 18:50:02 +11:00
a2806cfa75 view: add single iterator consume operator 2018-01-10 18:50:02 +11:00
ad02c94511 view: return unsigned types for size 2018-01-10 18:50:02 +11:00
9bb2bdbaba Merge remote-tracking branch 'origin/master' 2018-01-10 17:19:39 +11:00
2713da45f4 format: rework parser for currying support 2018-01-09 16:28:46 +11:00
dc010d87be view: add yet more constructors 2017-12-30 13:40:37 +11:00
f94be34ae4 view: add more constructor variants 2017-12-28 17:50:37 +11:00
9704387fdc view: use auto return type for indexing 2017-12-26 17:34:08 +11:00
1123cfe409 view: add unused_result warning to redim 2017-12-26 17:34:08 +11:00
e1a41c64de view: add increment and decrement methods 2017-12-26 17:34:08 +11:00
a67069a333 view: move ostream operator into header 2017-12-26 17:34:08 +11:00
dc51fa2ed0 view: char constructor shouldn't include null characters 2017-12-26 17:34:08 +11:00
8d317fd41e view: allow multiple iterator types 2017-12-22 12:34:25 +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
17f1ca8f93 view: add char-view less-than operator 2017-12-19 18:18:10 +11:00
62d5dfcf64 view: add container/view equality operators 2017-12-19 18:18:10 +11:00
e61c4f6e98 view: add constructors from nullptr_t 2017-12-19 18:18:10 +11:00
60a7670326 view: delegate constructors where feasible
this will allow us to reduce code duplication for sanity checks at
construction time.
2017-12-15 18:58:33 +11:00
0351313c36 Merge branch 'master' into coord 2017-11-23 17:24:11 +11:00
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
4641d43742 view: comment style 2017-10-02 14:14:55 +11:00
220e499681 view: make equality consistent 2017-09-15 15:22:51 +10:00
c222e4e960 view: constructor should take iterators by constref
who knows how big the iterators are, or if they can be moved.
2017-09-14 13:24:08 +10:00
015dff80a0 view: add nulling move operations 2017-09-14 13:13:45 +10:00
acfbec871a view: remove noexcept from redim
redim can throw, it shouldn't be noexcept...
2017-08-31 13:51:21 +10:00
367fc1dcb1 view: add redim operation 2017-08-31 13:03:19 +10:00
4a92981379 view: we really don't need a dedicated find function 2017-08-30 15:13:24 +10:00
5634e59dc5 view: don't return references to iterators
we emulate string_view behaviour. modifying our iterators behind our
backs isn't a great way to ensure invariants are kept.
2017-08-01 14:47:44 +10:00
eabf93bc2a view: remove ipp file in preference of inline code 2017-08-01 14:16:55 +10:00
e5090ff916 view: add 'data' accessor call
added for completeness sake. users can now call
std::begin/std::end/std::data
2017-07-28 14:26:49 +10:00
4f398620ab view: add make_cview function for pointers 2017-03-23 14:36:56 +11:00
436df2952f view: add make_view specialisations for std::string 2017-03-17 18:06:02 +11:00
54b26e9f60 view: add two-iterator make_view call 2017-02-21 21:20:15 +11:00