Commit Graph

3822 Commits

Author SHA1 Message Date
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
Michele Caini
ac06ad35c1 meta: added bare minimum support for contexts to forward_as_meta 2022-10-10 16:46:41 +02:00
Michele Caini
27e492d750 meta: minor changes 2022-10-10 16:46:41 +02:00
Michele Caini
f8281f2a37 meta: add bare minimum support for contexts to meta_any 2022-10-10 16:46:41 +02:00
Michele Caini
9fc717fa6e meta: track pending points for future refinement 2022-10-10 16:46:41 +02:00
Michele Caini
4a0f2f3fe9 meta: drop redundant constructors for meta_any 2022-10-10 16:46:41 +02:00
Michele Caini
ebdd4118fd meta: context aware internal try_cast 2022-10-10 16:46:41 +02:00
Michele Caini
54ae48936f meta: refine includes 2022-10-10 16:46:41 +02:00
Michele Caini
3c9045a3a8 test: avoid using the trampoline resolve function 2022-10-10 16:46:41 +02:00
Michele Caini
f80f179499 meta: small refinement 2022-10-10 16:46:41 +02:00
Michele Caini
69c6ee0675 meta: high level meta types are now context aware 2022-10-10 16:46:41 +02:00
Michele Caini
4e28d96bef meta: remove the last use of the trampoline resolve function from the meta factory 2022-10-10 16:46:41 +02:00
Michele Caini
6552cc4599 meta: refine factory.hpp as it's likely done now 2022-10-10 16:46:41 +02:00
Michele Caini
75b10cfa09 meta: make meta and meta_reset context aware 2022-10-10 16:46:41 +02:00
Michele Caini
dc394f62c6 meta: fully context aware meta factory 2022-10-10 16:46:41 +02:00
Michele Caini
ea6d6662b4 meta: make meta_ctor_node and meta_func_node fully context aware 2022-10-10 16:46:41 +02:00
Michele Caini
de3ecbdd28 meta: make meta_conv_node context aware 2022-10-10 16:46:41 +02:00
Michele Caini
e5c6559836 meta: make meta_data_node fully context aware 2022-10-10 16:46:41 +02:00
Michele Caini
0d422236d6 doc: minor changes 2022-10-10 16:46:41 +02:00
Michele Caini
199b065fe3 meta: make it compile after the last changes as it ought to be 2022-10-10 16:46:41 +02:00
Michele Caini
c46e107107 meta: try to follow my own coding style :) 2022-10-10 16:46:41 +02:00
Michele Caini
a3f66387b2 meta: further refine meta_type_node to make it context aware 2022-10-10 16:46:41 +02:00
Michele Caini
33383bd0c3 meta: try to follow my own naming convention :) 2022-10-10 16:46:41 +02:00
Michele Caini
35b8d95671 meta: make meta_type_node even more context aware 2022-10-10 16:46:40 +02:00
Michele Caini
6e254fb39d meta: make meta_type_node partially context aware 2022-10-10 16:46:40 +02:00
Michele Caini
f50a03dcb4 meta: make meta_ctor_node context aware 2022-10-10 16:46:40 +02:00
Michele Caini
71554b2c19 meta: drop temporary trampoline for meta_arg 2022-10-10 16:46:40 +02:00
Michele Caini
e7762980ec meta: make meta_ctor_node and meta_func_node partially context aware 2022-10-10 16:46:40 +02:00