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
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