36f4ba035c
thread: rename thread primitives from job namespace
2018-03-23 14:10:20 +11:00
2d7e3e5d7d
build: prefer iosfwd over iostream
2018-03-22 16:11:13 +11:00
40da3f8df7
singleton: add trivial implementation
2018-03-22 15:06:48 +11:00
7fc51aa151
parallel/queue: use representative name for class
2018-03-22 13:05:51 +11:00
4773e4be21
parallel: initial single-producer/multiple-consumer queue
2018-03-21 18:53:24 +11:00
e120540bb9
job: add forward declarations
2018-03-20 15:01:23 +11:00
8212048750
maths: add fast approximations WIP
2018-03-20 13:35:10 +11:00
68faa8838e
cpuid: add initial trivial CPUID queries
2018-03-18 17:29:44 +11:00
b307ab935d
coord/simd: add initial simd tests
2018-03-16 11:10:44 +11:00
12d401b98b
tuple/variadic: split into type/value/pack operations
2018-03-15 23:48:21 +11:00
0c824919de
job/monitor: add simple monitor adapter
2018-03-15 15:25:18 +11:00
c9dea18881
job/semaphore: add a basic semaphore implementation
2018-03-15 15:25:14 +11:00
4154066a0e
job/ticketlock: add a trivial ticketlock
2018-03-15 15:23:43 +11:00
f04e6e4de5
job/spinlock: add simple spinlock implementation
2018-03-15 15:23:43 +11:00
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