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
d79cb5ca98
meta: turn meta_handle into a context aware wrapper
2022-10-11 15:24:23 +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
2e59fbbccc
meta:
...
* review pending functions to make them context aware if they aren't already
* suppress a meta_associative_container::insert warning (rvalue-to-lvalue binding)
2022-10-11 14:40:16 +02:00
Michele Caini
bec0037797
meta: fully context aware meta_any
2022-10-11 12:20:25 +02:00
Michele Caini
d08c7ddb58
meta: review meta_associative_container::insert/::erase
2022-10-11 12:11:54 +02:00
Michele Caini
696681fefa
meta: context aware meta associative container
2022-10-11 11:53:17 +02:00
Michele Caini
5f9faf7a32
meta: context aware meta sequence container
2022-10-11 11:14:22 +02:00
Michele Caini
f160503aaf
meta: unroll meta_type::forward_to_bases to return always scoped elements
2022-10-11 11:09:33 +02:00
Michele Caini
b1e9f75a28
meta: meta_type::construct always returns scoped meta_any objects
2022-10-11 11:01:50 +02:00
Michele Caini
91da98353d
meta: keep track of the pending changes
2022-10-11 10:28:48 +02:00
Michele Caini
bc86ceb707
meta: drop resolve trampoline function, no longer required
2022-10-10 18:13:59 +02:00
Michele Caini
0baf316e5f
meta: add partial support for meta contexts to meta containers
2022-10-10 18:13:20 +02:00
Michele Caini
082605f9d3
meta: prepare meta containers to support context injection
2022-10-10 18:03:30 +02:00
Michele Caini
0fdd7d7a3a
meta: meta_any::allow_cast returns a scoped value now
2022-10-10 16:46:43 +02:00
Michele Caini
eee59e6af9
meta: track pending changes as much as possible
2022-10-10 16:46:43 +02:00
Michele Caini
223a8628e3
meta: meta_any::allow_cast propagates the context now
2022-10-10 16:46:42 +02:00
Michele Caini
c0bb603210
meta: meta_any::operator* propagates the context now
2022-10-10 16:46:42 +02:00
Michele Caini
2981d8746a
meta: avoid returning contex-less meta_any from meta objects
2022-10-10 16:46:42 +02:00
Michele Caini
c06280894b
meta: make internal meta_invoke accept meta contexts and use them properly
2022-10-10 16:46:42 +02:00
Michele Caini
2f2bdcac4d
meta:
...
* make meta_getter use properly meta contexts
* remove the meta context from the argument list of meta setters (not required)
2022-10-10 16:46:42 +02:00
Michele Caini
2739964a1f
meta: make meta_dispatch support and use meta contexts
2022-10-10 16:46:42 +02:00
Michele Caini
c3a2a44830
meta: drop useless [[maybe_unused]]
2022-10-10 16:46:42 +02:00
Michele Caini
37a2c3b76c
meta: make meta_construct support and use meta contexts
2022-10-10 16:46:42 +02:00
Michele Caini
146a7b2aa3
meta: rollback redundant functions (reduce the number of generated symbols)
2022-10-10 16:46:42 +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
4901188409
meta: use meta_any context aware constructors if possible
2022-10-10 16:46:42 +02:00
Michele Caini
15d78f80a6
meta: context aware constructors for meta_any
2022-10-10 16:46:42 +02:00
Michele Caini
d61dff45c1
meta: introduce meta_ctx_arg[_t]
2022-10-10 16:46:42 +02:00
Michele Caini
34abddfbbd
meta: move the meta context argument to the first slot of the argument lists
2022-10-10 16:46:42 +02:00
Michele Caini
238ebe4e8f
meta: try to get around invalid code that msvc accepts happily otherwise
2022-10-10 16:46:42 +02:00
Michele Caini
502accabbc
meta: make default_constructor forward the context to the returned element
2022-10-10 16:46:42 +02:00
Michele Caini
9d1df1dae4
meta: make from_void forward the context to the returned element
2022-10-10 16:46:42 +02:00
Michele Caini
a39cfb9e99
meta: always forward the context to meta_type
2022-10-10 16:46:42 +02:00
Michele Caini
27d0e5f55e
meta: always forward the context to meta_func
2022-10-10 16:46:42 +02:00
Michele Caini
a0e5d2c495
meta: always forward the context to meta_data
2022-10-10 16:46:42 +02:00
Michele Caini
d2c89d2a40
meta: always forward the context to meta_prop
2022-10-10 16:46:42 +02:00
Michele Caini
54f66c9094
meta: make meta_range_iterator forward the context to the returned elements
2022-10-10 16:46:42 +02:00
Michele Caini
10be00b352
meta: suppress a bunch of shadow warnings
2022-10-10 16:46:42 +02:00
Michele Caini
9032051bf7
meta: review meta_any::try_cast to use the local context
2022-10-10 16:46:42 +02:00
Michele Caini
2d2e4c784e
meta: reintroduce as_ref constructor
2022-10-10 16:46:41 +02:00
Michele Caini
0d4674d8e2
meta: refined meta_conv_node definition
2022-10-10 16:46:41 +02:00