Commit Graph

45 Commits

Author SHA1 Message Date
50b2105df5 build: clang-tidy fixes 2021-04-19 14:52:22 +10:00
0977fb89b3 debug/assert: don't use iostream 2021-04-12 16:56:06 +10:00
fdaa5e1392 assert: split CHECK_LIMIT into INCLUSIVE and INDEX
LIMIT hid an off-by-one bug when tests used end iterators. We rename the
assertion to uncover all uses of the flawed implementation, and split it
into an identical assertion, and one intended to protect against
iterator ends.
2020-09-24 08:03:41 +10:00
425e933f62 pool: assert that the pointer for 'index' is within our allocation 2019-08-14 13:53:06 +10:00
8437bb79f9 pool: add ssize query 2019-08-09 11:41:03 +10:00
0bb092b92f pool: add clone and move assignment operators 2019-08-02 08:14:18 +10:00
5ba25330d0 pool: don't forget to initialise the store pointer in move construction 2019-05-27 10:57:35 +10:00
ad9d5d991c pool: ensure indices are pushed low to high 2019-05-24 11:31:44 +10:00
fb36953135 pool: use voidptr storage to avoid definition requirements for users 2019-05-24 11:04:43 +10:00
afd601940c pool: initial attempts at clear 2019-05-23 12:36:52 +10:00
d4ba9fa061 pool: remove typed base queries, tighten alignment tests 2019-05-22 17:20:24 +10:00
bdbcb0788d pool: add clear function 2019-05-22 15:05:10 +10:00
ab0bb60602 pool: add move constructor 2019-05-22 15:05:00 +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
c9f25a3822 pool: add attributes to allocate 2019-01-21 17:14:02 +11:00
41c9b504dc pool: add 'full' query 2019-01-21 17:13:47 +11:00
d73332034f pool: compute pool::empty correctly... 2019-01-21 16:39:32 +11:00
78f746c21e pool: use std::size_t in preference to unsigned for capacity 2018-12-17 13:01:54 +11:00
b60aaccf6f build; fix compilation errors under win32
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +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
6ee256992d pool: add index based destroy function 2018-07-04 14:05:51 +10:00
f1c70beee1 pool: add pointer to index query 2018-07-04 14:05:51 +10:00
3370c6764e pool: add accessor for base address 2018-07-04 14:05:51 +10:00
935a3b950f pool: ensure move constructor is noexcept 2018-07-04 14:05:51 +10:00
b79cc887a0 pool: prefer byte over char for raw data 2018-07-04 14:05:51 +10:00
0f5f660fa3 pool: align nodes to pointer boundaries 2018-07-04 14:05:51 +10:00
88d514aa9c pool: launder the allocated pointers 2018-03-22 13:10:18 +11:00
7ce2f5454d pool: correctly forward constructor parameters 2018-03-15 15:25:18 +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
ee53f8234b pool: avoid alignment warnings on ARM 2017-01-05 19:50:28 +11: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
d81b9f12fd pool: rename remain as size for consistency 2016-02-04 12:41:23 +11:00
bf5b0916e8 pool: capacity queries, comments 2016-01-19 18:29:13 +11:00
2658b41ea1 relicence under Apache-2.0 2015-04-13 18:05:28 +10:00
36a80c33a9 pool: use size_t for allocated sizes 2014-12-31 19:07:25 +11:00
b8ef0afc1d Move pool implementation to ipp file 2012-11-09 15:17:32 +11:00
4f5d75a1df Make all check macros uppercase 2012-05-11 12:34:21 +10:00
77942e008d Change my email to an active domain 2012-04-23 13:10:50 +10:00
641a15f0ec Use the util namespace for more classes 2011-10-07 21:58:16 +11:00
24e764c648 Correct the pool comment copyright year 2011-07-12 20:55:15 +10:00
e748520bdb Run the item destructor when releasing a pool item 2011-07-01 18:41:50 +10:00
b4d6500f5f Add simple pool allocator implementation 2011-07-01 13:47:08 +10:00