Commit Graph

3605 Commits

Author SHA1 Message Date
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
c2f203b5a7 stringid: add query-or-insert indexing operator 2018-09-17 14:50:23 +10:00