Commit Graph

3705 Commits

Author SHA1 Message Date
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
Michele Caini
443d53400d meta: decouple meta containers and meta_type_node 2022-09-06 23:42:11 +02:00
Michele Caini
9725582089 meta: use insert_or_assign rather than operator[] 2022-09-06 23:42:11 +02:00
Michele Caini
cd2634a5d4 meta: use lvalue refs to meta any to construct meta handles 2022-09-06 23:42:11 +02:00
Michele Caini
798d1a4f9e meta: add missing template keywords (love you, msvc) 2022-09-06 23:42:11 +02:00
Michele Caini
e13996f68a meta avoid shadow warnings 2022-09-06 23:42:11 +02:00
Michele Caini
1ee077d511 meta: minor internal changes (try to make all compilers happy) 2022-09-06 23:42:11 +02:00
Michele Caini
ccf301c73d test: review/minor changes 2022-09-06 23:42:11 +02:00