Commit Graph

1471 Commits

Author SHA1 Message Date
Michele Caini
57ad7696be memory: turn the power-of-two/fast_mod toolset into a non-constexpr one 2022-10-21 11:01:18 +02:00
Michele Caini
7c58c83ee0 memory: review propagate_on_container_swap 2022-10-21 10:57:37 +02:00
Michele Caini
d478b5bc6a test: minor changes to avoid UBs 2022-10-18 10:50:16 +02:00
Michele Caini
621860718b meta: rebind elements to the right context upon invocation if possible 2022-10-14 15:40:31 +02:00
Michele Caini
294064f11f meta: args are always rebinded to the right context (with non-regression tests) 2022-10-14 11:47:27 +02:00
Michele Caini
11c1e23a91 meta: context aware copy/move ctor for meta_any 2022-10-14 08:49:44 +02:00
Michele Caini
82bc2e1fe4 test: no need to test mixing meta contexts actually, dropped the todo 2022-10-13 13:12:55 +02:00
Michele Caini
92a00f591d test: context aware meta handle 2022-10-13 11:15:48 +02:00
Michele Caini
b6155080b2 test: a few more tests for meta_handle 2022-10-13 09:37:13 +02:00
Michele Caini
0a61de4a09 test: context aware meta_any 2022-10-13 09:33:43 +02:00
Michele Caini
7121da100a test: context aware meta sequence containers 2022-10-13 09:24:20 +02:00
Michele Caini
7bee969ebf test: context aware meta pointers (dereferencing picks the type from the right context) 2022-10-13 09:12:45 +02:00
Michele Caini
4a0a534796 test: context aware forward_as_meta 2022-10-13 09:09:11 +02:00
Michele Caini
3dd768bb9b meta: context aware meta template 2022-10-12 19:02:30 +02:00
Michele Caini
2a307a681f test: context aware meta prop 2022-10-12 18:30:21 +02:00
Michele Caini
dd1211d021 meta: combine enable_if_t and a meta policy detection utility to avoid API changes 2022-10-12 16:06:25 +02:00
Michele Caini
7c25b46513 test: minor changes 2022-10-12 15:14:58 +02:00
Michele Caini
dc42486de8 test: drop redundant using namespace 2022-10-12 14:57:46 +02:00
Michele Caini
36411faf43 test: context aware meta dtor 2022-10-12 14:56:27 +02:00
Michele Caini
a9cd565d65 test: context aware meta conv 2022-10-12 12:49:39 +02:00
Michele Caini
0adbb0ad16 test: context aware meta ctor 2022-10-12 12:43:58 +02:00
Michele Caini
db31f77d63 test: context aware meta func 2022-10-12 12:22:26 +02:00
Michele Caini
c275afef28 test: context aware meta data 2022-10-12 12:16:35 +02:00
Michele Caini
4bad4f3067 test: context aware meta bases 2022-10-12 10:28:41 +02:00
Michele Caini
d2048c037a test: bare minimum tests for meta types from different contexts 2022-10-12 10:04:28 +02:00
Michele Caini
2a39717893 test: add all desired tests for meta context support 2022-10-12 09:59:03 +02:00
Michele Caini
49c2ae0e77 test: context aware meta resolve 2022-10-12 09:58:20 +02:00
Michele Caini
869c18f150 test: prepare to test meta context support 2022-10-12 09:57:58 +02:00
Michele Caini
acc6390312 meta: drop make_meta, unfortunately it doesn't fit well with the context aware design 2022-10-11 14:56:25 +02:00
Michele Caini
7e093c951f meta:
* use different function names to disambiguate utility calls
* drop base class meta_policy for policies, no longer required
2022-10-10 16:46:42 +02:00
Michele Caini
3c9045a3a8 test: avoid using the trampoline resolve function 2022-10-10 16:46:41 +02:00
Michele Caini
bc0233e34b meta: context aware resolve functions (with internal temporary trampoline) 2022-10-10 16:46:40 +02:00
Michele Caini
4b10981d75 meta: better support to rvalue references for forward_as_meta 2022-10-08 19:00:13 +02:00
Michele Caini
b16cefd534 any: better support to rvalue references for forward_as_any 2022-10-08 19:00:03 +02:00
Michele Caini
08adb29d91 registry: also support empty queries to get and try_get (with tests) 2022-10-06 08:36:14 +02:00
Michele Caini
cd9553ca10 registry: ::storage(id) returns a pointer rather than an utterly annoying iterator 2022-09-26 15:42:57 +02:00
Michele Caini
5a8c9b8a95 test: ASSERT_NO_THROW -> ASSERT_NO_FATAL_FAILURE 2022-09-22 17:42:01 +02:00
Michele Caini
c3dec4b04e view: added ::refresh function to reinitialize the leading pool 2022-09-21 15:42:38 +02:00
Michele Caini
fea0210b6e meta: support const/non-const overloads of the same function 2022-09-21 13:57:05 +02:00
Dominic Koepke
6eff5a88f6 registry: update (and test) member destruction order (#930) 2022-09-19 13:06:37 +02:00
Michele Caini
2f59f5a8fa meta: refine internal::meta_arg_node + code coverage 2022-09-16 10:06:56 +02:00
Michele Caini
3ae3c82fbb meta: refine meta_construct to make it work with lambdas (+tests) 2022-09-14 16:29:11 +02:00
Michele Caini
de34a109e1 meta: internal meta_arg_node is back to its old, unsafe version 2022-09-13 12:08:25 +02:00
Michele Caini
b45db747a8 meta: review meta_arg[_node] + increase code coverage 2022-09-08 13:29:10 +02:00
Michele Caini
6cab12a14f test: code coverage 2022-09-06 23:42:12 +02:00
Michele Caini
e4f6293f42 meta: use the hot/cold model with meta_type_node 2022-09-06 23:42:12 +02:00
Michele Caini
38597a6499 meta: hot/cold data to allow copies of meta nodes 2022-09-06 23:42:12 +02:00
Michele Caini
65ee240e8e meta: add a test (and a fix) for a corner case of meta_reset 2022-09-06 23:42:12 +02:00
Michele Caini
336bcf4d11 test: minor changes 2022-09-06 23:42:12 +02:00
Michele Caini
1ab10f3b28 meta: range iterator is an input iterator but models a random access iterator (close #927) 2022-09-06 23:42:11 +02:00