Commit Graph

3712 Commits

Author SHA1 Message Date
Michele Caini
4f3faef153 meta: remove a few pointless moves 2022-09-15 10:08:50 +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
1063fbccbe meta: const correctness 2022-09-14 16:26:14 +02:00
Michele Caini
b9e60c679a meta: added meta_function_descriptor_traits to avoid repetition and errors 2022-09-14 09:46:11 +02:00
Michele Caini
88fd79069b locator: minor changes 2022-09-14 09:22:43 +02:00
Michele Caini
ab859f7fa7 meta: review meta_base_node::cast and meta_any::try_cast to reduce their sizes 2022-09-13 15:57:44 +02:00
Michele Caini
cc4d4dfc2b meta: also make vs2017 happy if possible 2022-09-13 12:45:49 +02:00
Michele Caini
bd62e817dc meta: reduce the size of the erased conversion function 2022-09-13 12:33:14 +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
e0e45719fa meta: minor changes 2022-09-12 10:59:08 +02:00
Michele Caini
b21b254258 meta: avoid non-standard rvalue-to-lvalue bindings :) 2022-09-12 10:57:04 +02:00
Michele Caini
ca3ef33f46 meta: further reduce the size of the resolve function 2022-09-12 10:46:53 +02:00
Michele Caini
8c4803d906 meta: minor changes 2022-09-12 10:46:52 +02:00
Michele Caini
ffb9e4b0eb meta: shrink function templates a bit 2022-09-12 10:46:49 +02:00
Michele Caini
6010dbc368 meta: pre-instantiate the details section when constructing a factory 2022-09-12 10:46:46 +02:00
Michele Caini
a6343bd152 doc: updated links (close #933) 2022-09-09 14:14:22 +02:00
Michele Caini
9e4a7f48a4 meta: try to also make clang happy 2022-09-09 12:02:57 +02:00
Michele Caini
6ad7424d4a meta: minor changes 2022-09-08 18:02:07 +02:00
Michele Caini
218fa1ba35 meta: share common code if possible 2022-09-08 15:11:09 +02:00
Michele Caini
b45db747a8 meta: review meta_arg[_node] + increase code coverage 2022-09-08 13:29:10 +02:00
Michele Caini
eedecc07fd meta: avoid tricks and whatnot with meta_arg_node 2022-09-08 10:28:49 +02:00
Michele Caini
dcea36de7a meta: try to share common code if possibile 2022-09-07 17:51:11 +02:00
Michele Caini
ed0e3f4435 meta: share common code 2022-09-07 16:17:29 +02:00
Michele Caini
8595e4bd99 meta: review meta containers to further reduce memory usage 2022-09-07 14:58:44 +02:00
Michele Caini
e31b81294d meta: minor changes for consistency 2022-09-07 14:54:34 +02:00
Michele Caini
ac6e9cf2f0 meta: further reduce the number of instantiations 2022-09-07 14:32:15 +02:00
Michele Caini
dac4ae94c0 meta: further reduce the number of instantiations 2022-09-07 12:48:40 +02:00
Michele Caini
b31b585805 natvis: update meta 2022-09-07 11:33:15 +02:00
Michele Caini
1368c56655 meta: avoid storing meta type nodes by reference in the meta factory 2022-09-07 11:32:49 +02:00
Michele Caini
6cab12a14f test: code coverage 2022-09-06 23:42:12 +02:00
Michele Caini
924a09a9c5 meta: minor changes (to suppress warnings) 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
f197b32b02 meta: cleanup 2022-09-06 23:42:12 +02:00
Michele Caini
b80ab36418 meta: use the hot/cold model with meta_func_node 2022-09-06 23:42:12 +02:00
Michele Caini
d5588333f7 meta: use the hot/cold model with meta_data_node 2022-09-06 23:42:12 +02:00
Michele Caini
10755275ea meta: use the hot/cold model with meta_prop_node 2022-09-06 23:42:12 +02:00
Michele Caini
a30cecdf36 meta: use a shared_pointer to void for meta properties 2022-09-06 23:42:12 +02:00
Michele Caini
0068afa06c meta: cleanup 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
ed74a4c213 meta: explicit initialization of all values of a meta object 2022-09-06 23:42:12 +02:00
Michele Caini
3e29617da8 doc: meta 2022-09-06 23:42:11 +02:00
Michele Caini
715b3e450f meta: make meta_factory<...>::type id argument required 2022-09-06 23:42:11 +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
304d8a80be meta: avoid warnings due to unused variables 2022-09-06 23:42:11 +02:00
Michele Caini
560a3f664e meta: drop meta_func_node::watermark, compare pointers to invoke instead 2022-09-06 23:42:11 +02:00
Michele Caini
41081204f9 tests: minor changes 2022-09-06 23:42:11 +02:00
Michele Caini
b895dfc901 nativs: review meta after the rework 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