Commit Graph

48 Commits

Author SHA1 Message Date
e7b12e7792 alloc/raw/linear: add offset overload for views 2018-04-20 15:08:06 +10:00
09b9c1dc8b alloc/raw/linear: don't align by default 2018-04-20 15:08:06 +10:00
cbce5803b5 allocator: return a view, not a pointer. for safety. 2018-04-20 15:08:06 +10:00
6389839f4e alloc/allocator: add make_allocator convenience function 2018-04-09 18:34:22 +10:00
d00d724296 alloc/allocator: take type into account for sizes and ptrs 2018-03-07 17:57:10 +11:00
87fc5df03d alloc/allocator: add forgotten type parameter for forward call 2018-03-07 17:56:42 +11:00
3867b9e74e alloc/forwarding: add statically typed forwarding allocator 2018-03-07 16:24:39 +11:00
b23c274742 alloc/foreign: don't use a null base pointer
We can't use null for the proxy view passed to the successor allocators
because it triggers undefined behaviour.
2018-03-05 15:58:36 +11:00
15fad39e8a alloc/foreign: add warning about non-trivial child allocators 2018-03-02 12:45:52 +11:00
950ac2229f alloc/foreign: correctly rebase 'offset' 2018-03-02 12:45:27 +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
35537b07ca alloc/aligned: add accessor for alignment 2018-03-01 14:43:37 +11:00
7af076e2de alloc: prefer std::byte representations for iterators
this allows the users to more easily walk the byte ranges (or perform
simply pointer arithmetic), without as much danger of using the values
in an expression inadvertantly.
2018-02-28 17:55:56 +11:00
2941a5a3e1 alloc/raw: add 'data' accessor 2018-02-28 16:19:27 +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
82a8446e10 build: silence various type conversion warnings 2018-01-18 11:56:42 +11:00
1d11f05918 cast: move casting functions into util::cast namespace 2018-01-16 15:11:15 +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
f06eab9a3a a/r/aligned: add forgotten headers and namespace qualifiers 2017-09-21 15:06:35 +10:00
0e97044adf allow/raw: rename base as begin 2017-08-31 13:48:33 +10:00
0f4fece00f alloc/raw/linear: add constructor from range types 2017-08-30 15:13:43 +10:00
cfc8cb5691 allow/raw/stack: remove unused ipp file 2017-08-29 16:59:54 +10:00
9d5e599246 alloc: seperate out the raw allocators from the adapters 2017-08-29 16:53:11 +10:00
417175b2dd alloc/arena: add descriptive comment for arena 2017-08-29 12:28:59 +10:00
25e19b5810 build: use explicit constructors 2017-05-23 12:50:51 +10:00
faf7e68671 alloc/stack: fix allocation record offset calculation 2017-01-05 17:06:13 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
98350fedab build: silence unused var/func warnings 2016-10-11 21:43:07 +11:00
972b409160 alloc: duplicate methods with optional args 2016-10-10 20:59:26 +11:00
2c4f6f5526 alloc/aligned: rename Successor to ChildT 2016-10-10 19:26:40 +11:00
3dc31a9d10 alloc/aligned: add allocator with forced alignment 2016-10-10 18:19:09 +11:00
e7bf2330ed alloc: use nested namespace decl 2016-10-10 17:58:59 +11:00
fef1dc8300 alloc/dynamic: add missing override specifiers 2016-06-28 15:57:23 +10:00
350dd96b2d alloc: add base and offset methods 2016-06-22 19:51:18 +10:00
ea0d107859 alloc/linear: warn on null src pointers 2016-05-18 10:26:55 +10:00
1f432c13b7 build: avoid type truncation warnings
discovered with clang's -Wshorten-64-to-32
2016-05-12 17:39:33 +10:00
ab330cc520 add ref-qualifiers to avoid dangling refs/ptrs 2016-03-17 18:05:28 +11:00
7adf63413d build: tighten up some unneeded headers 2016-02-25 13:17:14 +11:00
226e212826 alloc/fwd: add forward decleration header 2016-02-10 14:05:44 +11:00
bbc06efa24 alloc/dynamic: add virtual allocator interface 2016-02-10 14:05:09 +11:00
80e29f81b9 alloc/null: add missing interface members 2016-02-10 14:04:08 +11:00
d232f1c871 alloc: rename 'size' to 'used' 2015-11-30 16:08:07 +11:00
96769c582e alloc/arena: argument forwarding for acquire 2015-11-24 16:52:14 +11:00
5601c1e9c4 alloc/stack: add capacity/size/remain implementations 2015-11-24 16:49:11 +11:00
8ea208daea alloc/linear: add capacity/size/remain implementations 2015-11-24 16:48:46 +11:00
873997fa33 alloc: trivial top level comments for linear/stack 2015-11-19 15:03:57 +11:00
1ec9582240 alloc: add initial allocator stubs 2015-11-13 17:18:10 +11:00