3a26a98db7
job/flag: add a one off event object
2018-03-15 15:23:43 +11:00
1fd58c8967
job/event: a simple reusable edge triggered event
2018-03-15 15:23:43 +11:00
b1276519ef
geom: add simple frustum class
2018-03-13 22:37:40 +11:00
3867b9e74e
alloc/forwarding: add statically typed forwarding allocator
2018-03-07 16:24:39 +11:00
a40b1254c1
build: remove reference to deleted header...
2018-03-02 12:26:12 +11:00
c2265b9ed2
alloc: add aligned::foreign allocator
...
sometimes we need to ensure memory allocation has a particular alignment
in an _offset_ buffer (which we have no control over, eg renderdoc's
OpenGL buffers).
this applies an offset to various operations that make the
aligned::direct allocator correctly align allocations for buffers that
aren't themselves aligned.
2018-03-02 12:21:38 +11:00
0e3fa05f05
build: migrate from ipp files to pure hpp files
...
ipp files weren't a great way of keeping things clean, and IDEs have a
little trouble dealing with the split configuration. this simplifies
debugging a great deal.
2018-02-28 11:49:13 +11:00
18a7790a2a
macro: trivial preprocessor for includes
2018-01-30 12:53:43 +11:00
6f51b82f65
siphash: add initial implementation
2018-01-23 18:57:04 +11:00
b5d8b6bca3
build: temporarily add -ldl unconditionally
2018-01-23 18:52:42 +11:00
09aa86f55f
crypto: remove cryptography primitives
...
This code can now be found in libcruft-crypto. It was removed to prevent
people relying on it, and to improve test iteration times in unoptimised
builds.
2018-01-14 17:13:21 +11:00
681768093e
hash: use a consistency, less flexible, interface
2018-01-13 15:24:12 +11:00
2840810f64
build: remove unnecessary cmake module
2018-01-10 17:51:59 +11:00
9bb2bdbaba
Merge remote-tracking branch 'origin/master'
2018-01-10 17:19:39 +11:00
2713da45f4
format: rework parser for currying support
2018-01-09 16:28:46 +11:00
2af828e82d
time: add iso8601 parsing
2018-01-01 15:50:48 +11:00
59b21e67dd
time: more inline implementation into the header
2017-12-30 13:38:11 +11:00
ce64396da4
posix/socket: add a convenience wrapper for sockets
2017-12-22 18:38:30 +11:00
e437913746
encode/base: add initial base64 experiments
2017-12-22 12:37:04 +11:00
d0d5ae549e
uri: extract grammar into contained ragel file
...
this will allow us to reference the grammar from other grammars, eg http
parsing.
2017-12-20 12:45:05 +11:00
cd69bb684a
json: use ragel optimisation flags
2017-12-20 12:29:40 +11:00
77c88438d4
except: move posix/win32 exceptions to own units
2017-12-18 15:46:52 +11:00
59240ce83a
matrix: move implementation from ipp to hpp
2017-11-24 17:19:32 +11:00
0351313c36
Merge branch 'master' into coord
2017-11-23 17:24:11 +11:00
d3f434b523
coord: make template parameters more flexible
...
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.
We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.
The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
4794e84c13
build: prefer target specific includes and libs
2017-11-22 16:34:02 +11:00
badba6de3b
tap: move ipp implementation into hpp/cpp
...
This makes it easier for CLion to perform syntax highlighting
accurately.
2017-11-02 18:10:56 +11:00
d8bb00c9c3
endian: add float byteswap specialisation
2017-10-12 17:38:40 +11:00
340981dac2
json2: initial import
2017-10-03 17:49:08 +11:00
7ecaaacd93
utf8: add a trivial utf8 decoder
2017-10-02 15:25:59 +11:00
4050754ab4
preprocessor: use a script to create map/reduce
...
We need over 300 arguments for some projects and I'm not going to code
that shit by hand.
2017-09-12 14:17:30 +10:00
8e7f23c4dd
traits: add trivial type_traits tests
2017-09-08 14:20:01 +10:00
9d5e599246
alloc: seperate out the raw allocators from the adapters
2017-08-29 16:53:11 +10:00
2cb5fd7391
geom/sample: prefer inline impl over ipp files
2017-08-29 12:28:54 +10:00
a91df8895d
geom: prefer inline implementation over ipp
2017-08-29 12:19:58 +10:00
eabf93bc2a
view: remove ipp file in preference of inline code
2017-08-01 14:16:55 +10:00
f39f7d7362
parse: add throwing native type parsers
2017-07-26 15:26:56 +10:00
3460d5edbe
crypto/salsa: add initial skeleton for salsa20
2017-07-11 16:49:49 +10:00
320fe6c378
job/queue: add trivial job queuing system
2017-07-03 17:05:01 +10:00
0eaec8ad65
comparator: move pointer comparator code inline
2017-06-19 15:36:57 +10:00
6065aa9933
comparator: add comparator for indexed compound types
...
compares each index of the two parameters in sequence, returning true if
the first parameter has the first value that compares less than the
second.
2017-06-19 15:28:10 +10:00
ca63485d12
sarray: add a simple static storage/dynamic size array
2017-06-14 17:45:43 +10:00
b15914cf9a
iterator: add make_indices, zip, and izip
2017-06-13 17:01:06 +10:00
606a46a128
typeidx: add lightweight runtime type id call
2017-05-29 17:21:11 +10:00
813600e774
ascii: add hex conversion and unit tests
2017-05-22 16:11:31 +10:00
1ad3e0bde0
algo/sort: add SOA sorting helper
...
sort::soa applies a permutation to multiple value arrays such that the
first value array is sorted
2017-05-18 18:24:48 +10:00
c57569a4ff
cmake: more reliable backtrace strategy discovery
2017-02-01 13:46:33 +11:00
5a25f07f8e
hash/crc: adapt implementation from png appendix
2017-01-25 16:12:12 +11:00
845c8dd14d
cmake: avoid recursive cmake lists for tests
2017-01-25 15:06:47 +11:00
f665244010
cmake: avoid passing around CFLAGS
2017-01-23 21:48:44 +11:00
395545f43a
cmake: add missing exe implementation for win32
2017-01-23 15:09:53 +11:00
59a32aede6
cmake: don't locate addr2line for win32 builds
2017-01-23 15:09:33 +11:00
5d728859e7
cmake: decrement required cmake version (for msys)
2017-01-23 15:09:07 +11:00
164652d89a
cmake: try to use a unique target name for tools
2017-01-19 14:23:13 +11:00
bfc74cbc82
build: fix link order for required libs
2017-01-19 13:35:14 +11:00
0bcf9da239
build: add shm lib to cmake
2017-01-19 13:34:49 +11:00
1b644132f0
cmake: bump for caching of values
2017-01-18 21:46:25 +11:00
b5a4b4791d
cmake: use CURRENT versions of directories
2017-01-17 21:31:12 +11:00
dd23d4a347
build: cmake tests
2017-01-17 19:20:30 +11:00