0138b00f87
algo/search: improve minimises
documentation
2018-11-19 15:35:42 +11:00
e42f71f9af
types/traits: add is_orderable trait
2018-11-19 15:35:05 +11:00
3625a92977
algo: add minimises
linear search
2018-11-14 10:21:51 +11:00
a691683c7d
types/tagged: add missing include for alignment cast
2018-11-13 15:20:10 +11:00
a948b3d682
preprocessor: add convenience APPEND_COMMA macro
2018-11-13 15:19:53 +11:00
b1d44b1872
preprocessor: use pragma once for include guards
...
This slightly simplifies some of the generator code.
2018-11-13 15:19:23 +11:00
6b00668692
types: add 'tagged' union type
2018-11-13 12:57:19 +11:00
84ef2c1117
tuple/type: add 'nth' accessor for tuples
2018-11-13 12:56:48 +11:00
8c0c374a53
darray: correct the empty condition
2018-11-09 15:01:35 +11:00
26edf25b82
darray: add insert_n overload
2018-11-08 14:11:14 +11:00
f44c7d5b46
darray: add equality operators
2018-11-08 14:10:50 +11:00
7e8f2df869
darray: add 'remain' query
2018-11-08 14:10:29 +11:00
85a736b9f4
darray: don't zip over unequal ranges
2018-11-08 14:10:15 +11:00
4489fff11c
darray: add size_type definition
2018-11-08 14:10:04 +11:00
1ccabff51c
darray: add 'full' query
2018-11-08 12:55:37 +11:00
d73c33c4bd
darray: add defaulted copy constructors and assignment operators
2018-11-07 16:04:03 +11:00
79edea8f2d
darray: add a static capacity, dynamic sized array
2018-11-05 21:31:30 +11:00
ddb0e75962
alloc/arena: add mutating accessor to underlying store
2018-11-02 14:29:19 +11:00
17c9d79c77
iterator: rewrite detail::zip to avoid dangling references
2018-11-01 17:04:50 +11:00
7d55221331
types/traits: add is_tuple_like trait
2018-11-01 16:30:56 +11:00
44eeeaa134
ascii: add is_alpha
query
2018-10-31 09:29:28 +11:00
dca92e2199
preprocessor: use local include directives for TAP header
2018-10-30 22:08:32 +11:00
bfe0a92eec
preprocessor: build the header out of tree
...
This avoids unnecessary rebuilds when we have parallel configurations
being built.
2018-10-30 21:41:15 +11:00
888d88a74d
view: return a pair in split
...
A pair documents the intention a lot more closely given we have an
explicit ordering of the two components.
2018-10-30 15:00:48 +11:00
383805af3a
view: remove addition operators
...
The effect of these operators was never particularly clear. It's better
to remove them completely and replace them with explicit function calls.
2018-10-30 15:00:02 +11:00
b510c48797
cast: disable invalid overloads of known
using sfinae
2018-10-22 18:22:02 +11:00
2bbe6dc900
tuple/type: commenting and style
2018-10-18 17:12:18 +11:00
f21369c15a
io: add an fd
overload for slurp
2018-10-18 12:51:56 +11:00
0de176591d
io: remove the view
overload for slurp
...
This just confuses matters. A `view` can be across arbitrary data, and
is often used as a representation of a file's _data_.
2018-10-18 12:50:21 +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
1b3147ded7
tap: prohibit copy operators and all assignment operators
2018-10-16 18:06:18 +11:00
6cab42d171
string: add character_position function
...
`character_position` computes the line and column numbers for an
iterator inside a view.
2018-10-16 18:01:31 +11:00
edc245e2d1
iterator: add dereference_adapter for iterators
2018-10-15 17:15:27 +11:00
bf535de083
iterator: style, east-const
2018-10-15 12:52:39 +11:00
0e5a084a9b
iterator: add counting_output_iterator
2018-10-05 14:57:44 +10:00
179c8bead4
alloc/arena: add inner allocator accessor
2018-10-04 17:57:17 +10:00
1fc7e562c7
alloc/arena: add move operations for owning arenas
2018-10-04 15:36:48 +10:00
c383f6579f
view: prefer construction using explicit size over pointer arithmetic
...
This simplifies step through debugging on some containers.
2018-10-04 15:36:35 +10:00
591a321f47
alloc/arena: forward reset calls to underlying store of owned arena
2018-10-04 14:53:21 +10:00
fdbe909fb8
view: prefer construction using explicit size over pointer arithmetic
...
This simplifies step through debugging on some containers.
2018-10-04 14:52:35 +10:00
06d7d2840d
iterator: remove index_type trait
...
This was used primarily for iteration over map-like objects but it never
turned out to be terrifically robust, and encouraged users to either
conflate index types or to ham-fist the conversions.
It's better to be slightly less ergonomic and reliable than to be more
ergonomic and introduce the possibility for errors.
2018-10-01 15:35:30 +10:00
6dede936bd
alloc/arena: Add an arena that contains an allocator.
2018-10-01 15:35:06 +10:00
6b1dbb3834
maths: abs should be constexpr
2018-09-27 14:17:54 +10:00
bc03b36ffc
alloc/raw/linear: explain why begin/end members aren't const
2018-09-22 12:40:13 +10:00
2e0b51baa4
alloc/raw/linear: enable move operators
2018-09-21 17:00:56 +10:00
dee4a155e3
algo/sort: add explicit index sorting routine
2018-09-21 12:25:47 +10:00
483c43c732
algo: remove doubly qualified root namespace
2018-09-21 12:25:02 +10:00
c814e0001e
stringid: add at method
2018-09-18 16:36:28 +10:00
5347fbb889
stringid: use string_view for accessors
2018-09-18 16:36:03 +10:00