Commit Graph

3640 Commits

Author SHA1 Message Date
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
cffc3bbc46 debug: print more extensive errors during abort_with_trace 2018-09-14 13:50:14 +10:00
e15f687e20 coord;sse: fix type in intrinsic 2018-09-13 14:52:34 +10:00
627f80ddcd coord;sse: add configuration option to enable SSE specialisation 2018-09-13 14:52:00 +10:00
22b6b7e287 debug: call abort when handling std::terminate 2018-09-12 14:09:44 +10:00
09a690f2d3 debug;posix: log that we're waiting for a debugger 2018-09-12 14:02:27 +10:00
a71ed6fe12 debug: register stack trace handler in set_terminate 2018-09-12 14:01:57 +10:00
9ca093d982 backtrace: remove dependency on addr2line
This wasn't functioning in any case so we may as well get rid of it.
2018-09-12 14:01:21 +10:00
2ad86d28a5 posix/except: add try_call 2018-09-10 12:36:42 +10:00
4fd20d2acf posix/fd: move definition of O_BINARY into public header 2018-08-31 13:57:31 +10:00
1a7b7daa93 exe: add trivial docstring 2018-08-28 16:35:06 +10:00
1392fb40c9 posix/fd: define O_BINARY for systems without it 2018-08-28 13:01:55 +10:00
466fcac687 thread/flag_std: remove platform specific headers 2018-08-27 14:18:04 +10:00
8c05cf2e1c posix/fd: double check the user has specified binary mode 2018-08-27 14:17:50 +10:00
e7cdb1322a debug: add a stub init for win32 2018-08-27 14:17:38 +10:00
300ae9df73 win32/windows: add a defensive windows wrapper header 2018-08-27 14:16:27 +10:00