37d68d5586
m/b/simple: add simple buffer implementation
2018-12-17 15:20:55 +11:00
1dc4b7b530
m/b/paged: enable move constructor
2018-12-17 15:20:31 +11:00
1030656ee6
m/b/paged: bump copyright header
2018-12-17 15:20:21 +11:00
4643beac82
buffer/paged: simplify paged buffer
2018-12-17 14:47:11 +11: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
803acc9a87
relicense under MPL-2.0
2018-08-04 15:14:06 +10:00
e9d5909f21
scoped: eliminate the raii header
2018-06-13 15:43:01 +10:00
1d11f05918
cast: move casting functions into util::cast namespace
2018-01-16 15:11:15 +11:00
52aa37dbf7
m/b/circular: add pointer rebalancing operation
2017-12-30 13:39:42 +11:00
dd69da09c3
m/b/circular: template based on data type
2017-12-30 13:39:12 +11:00
77c88438d4
except: move posix/win32 exceptions to own units
2017-12-18 15:46:52 +11:00
0351313c36
Merge branch 'master' into coord
2017-11-23 17:24:11 +11:00
34788756d2
build: don't use './' as an include prefix
...
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
a9f8594b26
maths: rename round_to as round_up
...
this shows more explicitly the rounding policy we're using
2017-08-30 15:39:02 +10:00
9da28a64c9
memory/deleter: use more descriptive template param names
2017-08-30 13:42:49 +10:00
107947899c
random: remove generator choice from easy API
...
it's supposed to be an easy replacement for std::rand, we don't need to
let the user choose their generator.
2017-08-28 14:12:36 +10:00
25e19b5810
build: use explicit constructors
2017-05-23 12:50:51 +10:00
353cf839d4
use nested namespace declarations
2017-01-05 15:06:49 +11:00
246357e279
random: remove typed randomisers without generators
2016-11-17 18:38:08 +11:00
9a798446b5
build: remove unnecessary includes
...
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
c4daffc001
build: add forgotten includes
2016-07-28 13:39:27 +10:00
8dc4abb69c
m/b/circular: use correct fd for MAP_ANONYMOUS
2016-05-13 13:56:53 +10:00
7d96d8dd2f
m/b/paged: use correct fd for MAP_ANONYMOUS
...
linux ignores the fd if you pass MAP_ANONYMOUS, but freebsd will return
with an error
2016-05-12 17:42:21 +10:00
1cdc6b4bad
use more explicit constructors
2016-03-17 18:14:40 +11:00
ab330cc520
add ref-qualifiers to avoid dangling refs/ptrs
2016-03-17 18:05:28 +11:00
93c08b048c
memory/deleter: add function calling deleter
...
used with unique_ptr in the deletion phase
2015-11-24 16:53:10 +11:00
00f6f614be
memory: rename object_deleter to owner_deleter
2015-11-19 16:46:19 +11:00
37268d6215
memory/deleter: remove nullptr callback restriction
...
if you want to pass in null then it's your head...
2015-11-19 15:04:19 +11:00
7dcaca2681
memory: add object based deleter for unique_ptr
2015-11-17 17:20:52 +11:00
424e6e8701
cast: move types/casts to cast
2015-11-17 16:19:27 +11:00
584b57b669
m/b/circular: check ftruncate return value
2015-11-13 17:18:10 +11:00
cd58dc8cc3
maths: rename align as round_to
...
reduces confusion between pointer align, and number rounding
2015-11-13 13:48:46 +11:00
6561e46018
memory: remove legacy scoped_malloc
2015-11-13 13:48:46 +11:00
32ca27abdf
memory: add paged and circular buffers
2015-11-11 16:56:35 +11:00
597fda0dfa
memory: add pagesize query
2015-11-11 16:56:00 +11:00