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
Michele Caini
41081204f9
tests: minor changes
2022-09-06 23:42:11 +02:00
Michele Caini
93a1d65103
meta: meta_type_node is no longer static
2022-09-06 23:42:11 +02:00
Michele Caini
ccf301c73d
test: review/minor changes
2022-09-06 23:42:11 +02:00
Michele Caini
53f2bb7701
meta: meta_func_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
945e61d668
meta:
...
* meta_prop_node is no longer static
* we can attach multiple properties at different times
* meta property keys are of type id_type only
* removed meta_factory::props (use prop instead)
* meta range returns id and meta object pairs now
* removed mera_prop::key (id returned by meta ranges)
2022-09-06 23:42:10 +02:00
Michele Caini
a8eebcb0e2
meta: make meta_range iterators return an id and meta object pair
2022-09-06 23:42:10 +02:00
Michele Caini
839a2cc86d
meta: removed meta_data::id
2022-09-06 23:42:10 +02:00
Michele Caini
3062114f0c
meta: meta_data_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
b5a7812ab4
meta: added meta_dtor_node for consistency
2022-09-06 23:42:10 +02:00
Michele Caini
565de36155
meta: meta_base is no longer static
2022-09-06 23:42:10 +02:00