d0d9c3a676
tools: add a 'crash' tool that triggers a segfault
2019-10-10 17:33:12 +11:00
0fb910fb5f
crash: add a minimal handler for coredumping signals
2019-10-10 17:32:32 +11:00
c63bc5df4e
tools: add a backtrace generating test
2019-10-10 16:28:16 +11:00
67ea686753
log: modularise the logging infrastructure
2019-10-10 15:52:37 +11:00
5666a64e77
tools: add a logging tool
2019-10-10 15:11:02 +11:00
fa9f537e59
log: prepare to expand headers
2019-10-10 15:10:41 +11:00
932b93ce5e
list: add additional node types
2019-09-10 14:43:08 +10:00
ce03a24f88
list/sort: add initial linked list merge sort
2019-09-09 10:22:36 +10:00
979deaa4aa
geom/traits: add initial shape_traits trait
2019-08-30 10:15:26 +10:00
2a4401da98
geom/region: add 'bounds' specialisation for region
2019-08-29 13:10:12 +10:00
b6d1b74bc4
geom/sample: add edge sampling routines for extent2i
2019-08-20 15:00:26 +10:00
4608d24027
debug/memory: add asan and valgrind annotation functions
2019-08-14 11:27:49 +10:00
01094611eb
thread: add minimal thread primitives for win32
...
This allows us to get around the lack of these types under MinGW
2019-06-22 15:46:34 +10:00
493317cc9c
build: label installation targets with 'development' component
2019-06-21 15:55:39 +10:00
c79b0bae22
sysinfo: add a trivial system stats dump function
2019-06-20 12:37:48 +10:00
f4438831a6
build: update the meson build configuration
2019-06-19 17:28:01 +10:00
f86989bc67
rand/rdrand: add rdrand generator
2019-06-19 12:02:50 +10:00
3a83851e90
rand/system: add system generator for Linux
2019-06-19 12:02:40 +10:00
c64cd2eb29
build: don't fully qualify the installation path
2019-06-18 15:12:49 +10:00
70fcf1e97d
build: don't add a missing path to the CMAKE_MODULE_PATh
2019-06-18 11:26:59 +10:00
b7ebf577bf
build: install the library and headers
2019-06-18 11:26:59 +10:00
7dcba62047
build: correctly install the pkg-config file
2019-06-18 11:26:59 +10:00
8e346d7717
build: correct the SIMD option test
2019-06-18 11:26:59 +10:00
822243f86d
parse/enum: return a cookie we could use for cleanup on setup
2019-06-01 10:06:15 +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
19409d67ca
build: add a 'util_test' target
2019-05-24 10:58:32 +10:00
e033cb2e4f
parallel/stack: Add a trivial thread safe stack
2019-05-23 15:21:07 +10:00
7805153e17
nocopy: remove deprecated header
2019-05-17 13:44:14 +10:00
8beada1646
debug: split debug headers into components
2019-05-17 12:26:08 +10:00
a4d963e00b
debug: move panic related calls to a distinct unit
...
This will allow us to reduce the required headers and avoid some
circular dependencies in some client libraries.
2019-05-17 10:48:29 +10:00
6d48e5a8e5
types/description: add arity and alignment variables
2019-05-09 10:32:39 +10:00
5fb87ea4c4
posix/ostream: add stat ostream operators
2019-04-26 12:11:42 +10:00
cd8a2d9816
posix/util: add stat
wrappers
2019-04-26 12:11:25 +10:00
e1d56395f6
build: remove buzstats tool
2019-04-23 08:19:47 +10:00
4cc20526ce
tools/buzstats: add initial buzhash query tool
2019-04-22 14:23:52 +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
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
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
32427a1df2
Change remnant GPL licence to MPL
2019-03-19 16:00:44 +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
5d123a5fd5
build: increase the entry count on preprocessor output
2019-03-16 18:19:52 +11:00
4a73a3cea7
job/dispatch: add index uniqueness test
2019-03-08 09:42:15 +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
fc252ee209
expected: add trivial expected implementation
2019-02-07 17:12:59 +11:00
a64e721cf0
posix/interface: add initial interface query logic
2019-02-02 19:09:35 +11:00
3a518fbac8
cpuid: add null fallback
2019-02-02 16:40:37 +11:00
c5633a32c5
cpuid: move specifics into a directory
2019-02-02 16:37:46 +11:00
bb7be903b1
build: only build x86 cpuid on support architectures
2019-02-02 15:49:50 +11:00
1f6caaa242
thread/primitive: add platform wrappers for pause/yield instructions
2019-02-02 14:55:13 +11:00
7511580de7
array: add varray wrapper
2019-01-31 13:45:40 +11:00
c92f450ff8
win32/file: add basic file wrapper
2019-01-04 17:13:21 +11:00
a33938e735
build: explicitly link to stdc++fs
...
We note the dependency ourselves rather than use a global link directive
so that it comes _after_ us. This prevents undefined references (and an
ICE under GCC/LTO)
2019-01-02 13:44:31 +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
4e055f5f0b
memory/buffer/traits: add a simple buffer concept
2018-12-19 17:15:51 +11:00
37d68d5586
m/b/simple: add simple buffer implementation
2018-12-17 15:20:55 +11:00
825d359b9d
io: test that mapped_file satisfies is_container_v
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
8047bf0f83
encode/number: add number decoding for base36
2018-12-16 16:24:45 +11:00
ec16afc747
except: add custom base exception
2018-12-03 15:29:21 +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
1e0a87d5df
geom/sample: align the interfaces for volume/surface sampling
2018-11-26 15:21:18 +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
79edea8f2d
darray: add a static capacity, dynamic sized array
2018-11-05 21:31:30 +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
627f80ddcd
coord;sse: add configuration option to enable SSE specialisation
2018-09-13 14:52:00 +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
300ae9df73
win32/windows: add a defensive windows wrapper header
2018-08-27 14:16:27 +10:00
c5ed42ccbf
debug: defend against renaming of panic using macros
2018-08-24 17:31:54 +10:00
3adbfae057
thread: fix compilation for linux specialisations
2018-08-16 12:10:05 +10:00
9a929353d6
build; account for newlines in win32 tests
2018-08-13 23:29:14 +10:00
ff5f79a858
build; add (untested) paths for win32 builds
2018-08-13 14:50:48 +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
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
395b5ae557
json: rename schema directory to constraint
2018-07-16 13:58:12 +10:00
01ae59c19c
build: explicitly set FAIL_REGULAR_EXPRESSION for tests
2018-07-16 11:28:04 +10:00
33dc5c7053
json/pointer: add a trivial parser for json-pointer
2018-07-13 16:08:24 +10:00
647af5504b
json/schema: reimplement enum support
2018-07-12 13:06:11 +10:00
c07ce50908
json/schema: modularise the validator objects
2018-07-11 19:30:14 +10:00
1658347573
json-schema: add schema test suite
2018-07-05 19:08:58 +10:00
4c0f129a37
json-compare: add a json comparison tool and test suite
2018-07-05 17:46:43 +10:00
74568d1c2d
test/json-parse: add json parsing test
2018-07-05 13:45:10 +10:00
8bc87e7c3f
build: add C to the required language list
...
This is required for various compilation tests (like CHECK_SIZE_TYPE).
2018-06-20 12:50:27 +10:00
ba24e9e5af
build: explicitly include the nerdcruft cmake module
2018-06-20 12:23:15 +10:00
e9d5909f21
scoped: eliminate the raii header
2018-06-13 15:43:01 +10:00
710a99b865
scoped: add scoped value restoring class
2018-06-12 14:50:54 +10:00
33222d3ef4
types/description: add trivial type categorisation enums
2018-06-03 15:25:50 +10:00
18e2b615d5
std: add compact fixed width typedefs
2018-06-03 15:25:17 +10:00
38e1a19e37
alloc: all allocators should take a type for alloc/dealloc
2018-05-10 13:53:06 +10:00