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
Michele Caini
461fe715b7
meta: decouple meta_template_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
9549bb4f4d
meta: decouple meta_func_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
0215722103
meta: decouple meta_data_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
7c6606f27e
meta: decouple meta_base_node and meta_type_node
2022-09-06 23:42:11 +02:00
Michele Caini
f0b10965fb
meta: decouple meta_prop_node and meta_type_node
2022-09-06 23:42:10 +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
e74c4bb684
meta: improve internal meta_from_void function
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
1581aa1cf5
meta: meta_ctor_node is no longer static
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
ab3abf23ed
meta: avoid allocations for meta_template_node
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
a12710af70
meta: meta_template_node is no longer static
2022-09-06 23:42:10 +02:00
Michele Caini
871234ec76
any: avoid declaring nested types in an union
2022-09-06 23:41:45 +02:00
Michele Caini
0c062cc351
any: refine replacement for std aligned storage (see #919 )
2022-09-06 23:09:44 +02:00
Michele Caini
67271e4672
registry: start to introduce the allocator (work in progress)
2022-09-06 09:43:34 +02:00
Michele Caini
2489a95dab
registry: don't store the allocator aside anymore
2022-09-06 08:33:10 +02:00
Michele Caini
70b8bd27b8
any/poly: avoid using aligned_storage_t (deprecated - close #919 )
2022-09-05 15:32:49 +02:00
Michele Caini
ee88cf16d1
any: avoid using storage_type to compute in_situ
2022-09-05 15:30:29 +02:00
Michele Caini
d83e818517
test: avoid using aligned_storage_t if possible (see #919 )
2022-09-02 15:23:47 +02:00