Commit Graph

1440 Commits

Author SHA1 Message Date
Michele Caini
bc0233e34b meta: context aware resolve functions (with internal temporary trampoline) 2022-10-10 16:46:40 +02:00
Michele Caini
4b10981d75 meta: better support to rvalue references for forward_as_meta 2022-10-08 19:00:13 +02:00
Michele Caini
b16cefd534 any: better support to rvalue references for forward_as_any 2022-10-08 19:00:03 +02:00
Michele Caini
08adb29d91 registry: also support empty queries to get and try_get (with tests) 2022-10-06 08:36:14 +02:00
Michele Caini
cd9553ca10 registry: ::storage(id) returns a pointer rather than an utterly annoying iterator 2022-09-26 15:42:57 +02:00
Michele Caini
5a8c9b8a95 test: ASSERT_NO_THROW -> ASSERT_NO_FATAL_FAILURE 2022-09-22 17:42:01 +02:00
Michele Caini
c3dec4b04e view: added ::refresh function to reinitialize the leading pool 2022-09-21 15:42:38 +02:00
Michele Caini
fea0210b6e meta: support const/non-const overloads of the same function 2022-09-21 13:57:05 +02:00
Dominic Koepke
6eff5a88f6 registry: update (and test) member destruction order (#930) 2022-09-19 13:06:37 +02:00
Michele Caini
2f59f5a8fa meta: refine internal::meta_arg_node + code coverage 2022-09-16 10:06:56 +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
de34a109e1 meta: internal meta_arg_node is back to its old, unsafe version 2022-09-13 12:08:25 +02:00
Michele Caini
b45db747a8 meta: review meta_arg[_node] + increase code coverage 2022-09-08 13:29:10 +02:00
Michele Caini
6cab12a14f test: code coverage 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
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
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
41081204f9 tests: minor changes 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
ccf301c73d test: review/minor changes 2022-09-06 23:42:11 +02:00
Michele Caini
53f2bb7701 meta: meta_func_node is no longer static 2022-09-06 23:42:10 +02:00
Michele Caini
945e61d668 meta:
* meta_prop_node is no longer static
* we can attach multiple properties at different times
* meta property keys are of type id_type only
* removed meta_factory::props (use prop instead)
* meta range returns id and meta object pairs now
* removed mera_prop::key (id returned by meta ranges)
2022-09-06 23:42:10 +02:00
Michele Caini
a8eebcb0e2 meta: make meta_range iterators return an id and meta object pair 2022-09-06 23:42:10 +02:00
Michele Caini
839a2cc86d meta: removed meta_data::id 2022-09-06 23:42:10 +02:00
Michele Caini
3062114f0c meta: meta_data_node is no longer static 2022-09-06 23:42:10 +02:00
Michele Caini
b5a7812ab4 meta: added meta_dtor_node for consistency 2022-09-06 23:42:10 +02:00
Michele Caini
565de36155 meta: meta_base is no longer static 2022-09-06 23:42:10 +02:00
Michele Caini
c76f078834 meta: prepare for iterator based meta range 2022-09-06 23:42:10 +02:00
Michele Caini
358a9742c5 meta: removed meta_type::base(id_type) because pointless 2022-09-06 23:42:10 +02:00
Michele Caini
7f9e200cfb meta: meta_conv_node is no longer static 2022-09-06 23:42:10 +02:00
Michele Caini
d83e818517 test: avoid using aligned_storage_t if possible (see #919) 2022-09-02 15:23:47 +02:00
Michele Caini
6462ceb1f5 meta: turn meta_any::operator!= into an in-class method (close #917) 2022-09-02 10:10:10 +02:00
Michele Caini
9a97a57423 storage: test the proper use of component traits by the storage iterator 2022-08-30 12:13:57 +02:00
Michele Caini
2f2b0cf98a test: minor changes (help the code coverage tool) 2022-08-29 12:11:55 +02:00
Michele Caini
f627593d63 build system: add explicit dependencies for plugin tests 2022-08-29 11:32:16 +02:00
Michele Caini
9aeddc2cb1 locator: lib plugin test 2022-08-29 11:25:37 +02:00
Michele Caini
6650071d24 locator: lib test 2022-08-29 11:08:03 +02:00
Michele Caini
006822c7fc build system: set PIC property for odr target explicitly 2022-08-29 09:48:23 +02:00
Michele Caini
4200bb9ebb locator: ::handle and extended ::reset 2022-08-27 17:35:42 +02:00
Michele Caini
e9a59bb014 registry: swap 2022-08-11 12:15:49 +02:00
Michele Caini
76ba063f29 registry:
* accept allocator upon construction
* no allocator-extended move ctor due to type erasure (we can't pass it to pools)
2022-08-11 11:40:57 +02:00
Michele Caini
2988a74fe4 registry: prepare allocator support (still an unused parameter) 2022-08-10 11:10:18 +02:00
Michele Caini
768f8cd74c storage mixin: prepare for cross registry mixin 2022-08-10 07:59:42 +02:00
Michele Caini
fccdff05e3 dense_map: equal_range 2022-08-09 09:50:55 +02:00
Michele Caini
e530b3d6f6 dense_set: equal_range 2022-08-09 09:50:52 +02:00
Michele Caini
e39f235287 test: review includes 2022-08-06 17:36:04 +02:00
Michele Caini
af5acb8d32 test: minor changes 2022-08-05 18:40:17 +02:00
Michele Caini
85c1ad060f test: minor changes 2022-08-05 12:28:22 +02:00