Commit Graph

602 Commits

Author SHA1 Message Date
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
33dc5c7053 json/pointer: add a trivial parser for json-pointer 2018-07-13 16:08:24 +10:00
a2e2d59c98 json/schema: add multipleOf test cases 2018-07-12 16:21:56 +10:00
0629ba07cd json/schema: add exclusiveMin/Max 2018-07-12 16:08:36 +10:00
d48e36ffd5 json/schema: add additionaProperties tests 2018-07-12 15:56:03 +10:00
8c222300ca json/schema: add pattern_properties and associated tests 2018-07-12 15:10:41 +10:00
85b5853f7f json/schema: delete intermediate test files 2018-07-12 15:10:04 +10:00
647af5504b json/schema: reimplement enum support 2018-07-12 13:06:11 +10:00
bb9d390cf4 json/schema: correct the truth data for min/max tests 2018-07-11 19:30:30 +10:00
8ea762bff8 json/schema: add object test cases 2018-07-09 14:13:51 +10:00
04249a8320 json/schema: fall back to identity test for .result.json
result.json test cases are only really required when we have default
properties that need to be filled. Fall back to using the input.json
file for other cases.
2018-07-09 14:13:51 +10:00
59f42de23f json/schema: use symlinks to identical test result files 2018-07-06 14:21:28 +10:00
8e07e8152b json/schema: rename schema dirs 2018-07-06 13:21:59 +10:00
19fdbaefb7 json/schema: move validation test cases to own directory 2018-07-06 13:19:10 +10:00
195616f563 json/schema: number the test groups for sorting 2018-07-06 12:43:20 +10:00