Commit Graph

2774 Commits

Author SHA1 Message Date
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
93f9cb7c0e win32/registry: add subkey iteration helpers 2018-08-24 17:32:04 +10:00
c5ed42ccbf debug: defend against renaming of panic using macros 2018-08-24 17:31:54 +10:00
676154d652 io_win32: test return of GetFileSize for errors 2018-08-23 13:59:14 +10:00
058a86ba05 win32/handle: take ownership of any supplied fd
CloseHandle, close, and memory mapping interact poorly so it's a little safer
to dup the fd before taking ownership of it.
2018-08-22 21:34:02 +10:00
1b5dfe437a posix/fd: make dup const
It's not strictly semantically correct, but it greatly simplifies reference
parameter binding in win32 memory mapping
2018-08-22 21:32:43 +10:00
4b30235164 win32/registry: resize the value by the correct amount 2018-08-20 16:14:09 +10:00
7e1b14fe98 library/win32: conform to the template query signature 2018-08-20 16:13:49 +10:00
eb4a3be352 cast: suppress more warnings for 'ffs' 2018-08-20 15:08:15 +10:00
55c5bf96c5 backtrace: don't use assertions to test runtime failures 2018-08-20 15:07:35 +10:00
3adbfae057 thread: fix compilation for linux specialisations 2018-08-16 12:10:05 +10:00
6c5a7cc5fa thread/semaphore: specalise the implementation for win32 2018-08-15 17:00:29 +10:00
2eb1f2b919 io_win32: use try_func when dispatching mapped_file 2018-08-14 16:48:20 +10:00
d8f916a25b win32: add except::try_func 2018-08-14 16:47:59 +10:00
2e3aaa4c17 win32: add except::try_value 2018-08-14 16:47:44 +10:00
9a929353d6 build; account for newlines in win32 tests 2018-08-13 23:29:14 +10:00
75a3572fdd exe: defend test case against msys2 paths 2018-08-13 16:12:11 +10:00