Commit Graph

616 Commits

Author SHA1 Message Date
822243f86d parse/enum: return a cookie we could use for cleanup on setup 2019-06-01 10:06:15 +10:00
cc7d4eb0a9 parse/enum: allow translation of enum string to integer with typeidx 2019-05-30 12:33:28 +10:00
5e3af7f8fb parse/enum: add basic typeid enum parsing 2019-05-30 11:54:56 +10:00
41edd3cebe types/description: add initial enum support 2019-05-30 10:43:28 +10:00
e4ce92454c parse/value: add bool specialisation 2019-05-30 10:42:25 +10:00
25746b2036 test/introspection: add more templated type_name tests 2019-05-28 13:48:45 +10:00
f3e0744e18 test/pool: make allocation tests more robust against allocator issues 2019-05-24 10:57:35 +10:00
e033cb2e4f parallel/stack: Add a trivial thread safe stack 2019-05-23 15:21:07 +10:00
4b3e04ccd6 test/pool: spelling 2019-05-23 12:38:49 +10:00
afd601940c pool: initial attempts at clear 2019-05-23 12:36:52 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
6d48e5a8e5 types/description: add arity and alignment variables 2019-05-09 10:32:39 +10:00
654f391cba string: add upper comparator 2019-05-02 11:03:22 +10:00
95c5fc5b1d bitwise: remove tests that perform a full rotate
Full rotation is undefined on x86 so it's caught be assertions now.
2019-05-01 13:17:35 +10:00
46c2153434 string: add string_less comparator 2019-05-01 12:39:19 +10:00
174bd62a29 bitwise: add ctz, aka count trailing zeroes 2019-04-24 13:25:44 +10:00
209a6800c4 hash/buzhash: add a trivial buzhash implementation 2019-04-22 13:59:48 +10:00
81715c1602 hash/table: add a trivial table lookup 'hash' 2019-04-22 09:51:04 +10:00
0683f80903 registrar: add skeleton of plugin registry 2019-04-16 11:02:26 +10:00
71c44b3293 introspection: use __FUNCTION__ parsing method for type_name queries 2019-04-16 10:17:53 +10:00
6fba251a38 pool: avoid unsigned/signed type conversion warnings 2019-04-15 10:36:53 +10:00
c718c9bff4 maths/fast: avoid size_t/float precision warnings 2019-04-15 10:36:18 +10:00
70a16c7d47 scoped: add optional reset modifier 2019-04-12 16:40:17 +10:00
9926179e7f map/fixed: add static sized flat map 2019-03-28 14:28:08 +11:00
9b994b12ae utf8: workaround gcc8's lack of char8_t 2019-03-26 12:20:40 +11:00
382e093f57 geom/segment: add bresenham iterator 2019-03-22 15:11:01 +11:00
0d9374d3dd coord/base: add indices query using supplemental values 2019-03-22 11:54:29 +11:00
39bbaa5a80 geom/segment: add segment/region intersection test 2019-03-21 17:10:52 +11:00
48b04765d7 geom/segment: extract point distance unit test 2019-03-21 16:26:00 +11:00
065daa96c6 strongdef: don't expose the raw data directly 2019-03-20 15:39:24 +11:00
83cd6074b8 parse/time: add consuming and non-consuming parsers 2019-03-19 17:09:03 +11:00
fdcab4eafd parse/time: add duration parsing 2019-03-19 16:02:39 +11:00
48c4866705 parse: move test binaries into a single directory 2019-03-19 16:01:55 +11:00
e5e47ffb24 parse: move si and value parsing into common namespace 2019-03-19 12:38:22 +11:00
340d873d3a iterator: move each iterator to their own unit 2019-03-18 16:18:27 +11:00
020d3c0aaf si: change the SI code to a parser 2019-03-18 14:09:29 +11:00
4d91db760c iterator: flesh out the iota container 2019-03-18 14:09:29 +11:00
87457c25b7 job/dispatch: avoid system include style in tests for local headers 2019-03-14 17:05:30 +11:00
b1076d07ce signal: reduce templating complexity 2019-03-13 12:08:57 +11:00
fe031378fe signal: use more descriptive template parameter names 2019-03-12 15:43:47 +11:00
4a73a3cea7 job/dispatch: add index uniqueness test 2019-03-08 09:42:15 +11:00
976d44b1d9 region: use half-open range for region::step 2019-03-08 09:41:37 +11:00
0d27694a51 coord/comparator: add a trivial ordering comparator 2019-03-08 09:37:48 +11:00
35916e2854 rand/pcg: add pcg_xsh_rr generator 2019-02-21 20:53:58 +11:00
8f88569f61 rand: conform to the std generator concept 2019-02-21 20:53:07 +11:00
2f6c845409 string: fixup tokeniser::contains 2019-02-20 15:51:54 +11:00
2ce92cb2c8 string: add stub 'contains' query 2019-02-20 14:45:57 +11:00
3d8acbf9cc ascii: fix hex2u08 name in tests 2019-02-09 14:59:42 +11:00
fc252ee209 expected: add trivial expected implementation 2019-02-07 17:12:59 +11:00
5d76fb7792 bitwise: add bitfield tests 2019-02-03 14:03:38 +11:00
41c9b504dc pool: add 'full' query 2019-01-21 17:13:47 +11:00
c533b4103e utf8: avoid wraparound warning for view construction 2019-01-18 17:18:31 +11:00
b61d55ee3c build: satiate clang-tidy somewhat 2019-01-03 15:48:34 +11:00
bce481db0e buffer: move buffer code out of 'memory' namespace 2018-12-19 20:22:18 +11:00
4e25f6e3e2 alloc: eliminate 'raw' allocator distinction 2018-12-19 17:55:24 +11:00
39ed7b27e8 alloc: remove unused allocators 2018-12-19 17:34:35 +11:00
10d5c141f2 alloc: rationalise the 'arena' allocator 2018-12-19 17:16:57 +11:00
37d68d5586 m/b/simple: add simple buffer implementation 2018-12-17 15:20:55 +11:00
043dd73677 pointer: rename align as align_up, and add align_down 2018-12-17 14:45:54 +11:00
78f746c21e pool: use std::size_t in preference to unsigned for capacity 2018-12-17 13:01:54 +11:00
825d359b9d io: test that mapped_file satisfies is_container_v 2018-12-17 12:50:05 +11:00
b4c8190054 array/parray: assert parray is a container 2018-12-17 12:50:05 +11:00
a7786f04b9 array: move sarray and parray into array directory 2018-12-17 12:50:05 +11:00
1bb566fcda encode/number: add base36 encode 2018-12-16 16:47:08 +11:00
8047bf0f83 encode/number: add number decoding for base36 2018-12-16 16:24:45 +11:00
5fedbdbdfe parse: change parsing functions to modify the data view 2018-12-16 13:26:48 +11:00
e1e036e776 hton: avoid using type names as variables 2018-12-15 15:38:01 +11:00
1a82e4fe76 build: transition from experimental filesystem 2018-12-05 19:12:03 +11:00
c7cc0dbf4c random: add a trivial test of the default generator
This allows us to ensure some level of coverage using tools like ASan.
2018-11-28 15:24:28 +11:00
38906862a3 test: use local style includes where possible
This removes some assumptions that break building the library in
isolation.
2018-11-19 16:45:19 +11:00
f75c8f6c6d types/tagged: use relative paths for test headers 2018-11-19 16:27:02 +11:00
e26165cea9 algo/search: return the score and the object in minimises 2018-11-19 15:35:56 +11:00
3625a92977 algo: add minimises linear search 2018-11-14 10:21:51 +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
79edea8f2d darray: add a static capacity, dynamic sized array 2018-11-05 21:31:30 +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
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
edc245e2d1 iterator: add dereference_adapter for iterators 2018-10-15 17:15:27 +11:00
0e5a084a9b iterator: add counting_output_iterator 2018-10-05 14:57:44 +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
483c43c732 algo: remove doubly qualified root namespace 2018-09-21 12:25:02 +10:00
c2f203b5a7 stringid: add query-or-insert indexing operator 2018-09-17 14:50:23 +10:00
6c5a7cc5fa thread/semaphore: specalise the implementation for win32 2018-08-15 17:00:29 +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
4fd68aef55 build; remove inadvertently added debug code 2018-08-13 16:03:20 +10:00
ce67836e8e format: disable hexfloat tests under msys2
These conversions appear to be broken under msys2.
2018-08-13 16:02:18 +10:00
b60aaccf6f build; fix compilation errors under win32
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
3aaddd1d2b json: move json code to external module
This module can now be found at git://git.nerdcruft.net/libcruft-json.git
2018-08-04 15:02:06 +10:00
bcb4d7569f types/traits: add is_same_basic_type trait 2018-08-01 18:39:01 +10:00
79409eb6fe avoid push_back in loops
Detected by clang-tidy.
2018-07-24 15:49:11 +10:00
799768641f prefer passing by reference over value 2018-07-24 15:46:28 +10:00
49d39c4ede json/compare: change to useful exit codes in test suite 2018-07-13 16:08:48 +10:00