Commit Graph
3849 Commits
Author SHA1 Message Date
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