Michele Caini
44fa466618
poly: support for alignment requirements
2021-03-24 12:03:43 +01:00
Michele Caini
b05d84e8e3
test: minor changes
2021-03-24 12:03:43 +01:00
Michele Caini
7787c1ddd7
poly: redefine poly to basic_poly, introduce poly alias declaration
2021-03-24 12:03:43 +01:00
Michele Caini
52bfddd2e7
any: support for sbo storage alignment ( close #676 )
2021-03-24 12:03:43 +01:00
Michele Caini
f59adcdc37
test: no sbo overaligned any
2021-03-24 12:03:43 +01:00
Michele Caini
e996d3398f
any: take in consideration alignment requirements for in_situ test (see #676 )
2021-03-24 12:03:43 +01:00
Michele Caini
5a4b067cee
view:
...
* removed view_pack and its tests
* added the possibility of combining different views
* updated documentation
2021-03-17 14:57:51 +01:00
Michele Caini
85ddfc4d21
test: clean up
2021-03-16 13:13:55 +01:00
Michele Caini
9d72ffb9fe
test: minor changes
2021-03-12 13:52:46 +01:00
Michele Caini
4162d4fbc6
type_info: a more reliable operator bool
2021-03-12 09:33:42 +01:00
Michele Caini
bcaf1489c0
meta: extended template info support
2021-03-11 12:17:48 +01:00
Michele Caini
785cd6bc11
storage ( close #675 ):
...
* stable sigh_storage_mixin::swap_and_pop
* added tests to avoid regressions
2021-03-09 16:09:19 +01:00
Michele Caini
8ec7e3cc97
test: suppress warnings for unused variables
2021-03-09 12:25:32 +01:00
Michele Caini
e376493970
test: removed unnecessary static functions
2021-03-09 12:17:00 +01:00
Michele Caini
08e2322d79
test: meta corner cases and re-registration
2021-03-09 12:11:25 +01:00
Michele Caini
80e73c1089
meta:
...
* props no longer depend on the value type
* more tests for meta_prop
2021-03-09 10:26:21 +01:00
Michele Caini
4f93995bd7
test: suppress warnings + increase code coverage
2021-03-09 10:24:28 +01:00
Michele Caini
03c7dac92f
meta: internal review to fully support re-registration
2021-03-09 09:50:48 +01:00
Michele Caini
1512fbae55
meta: safer factory, no-op re-registration
2021-03-08 14:52:46 +01:00
Michele Caini
005e03aeb3
registry:
...
* context const correctness
* added support for aliased variables to context
* code coverage to avoid regressions
2021-03-06 22:51:01 +01:00
Michele Caini
a62a83044f
poly: make it work also with non-default Len
2021-02-27 17:34:09 +01:00
Michele Caini
2222e31885
config: ENTT_PAGE_SIZE sets the number of elements of a page, not the size in bytes
2021-02-25 00:18:04 +01:00
Michele Caini
c3f7f83c55
registry/view ( close #660 ):
...
* const registry::view is no longer thread safe
* views are always valid when created from a registry, either const or not
* added a note to the doc about const registry and multithreading
2021-02-23 17:01:38 +01:00
Michele Caini
86e18f68c4
sparse_set: added unchecked operator[](pos)
2021-02-23 15:01:05 +01:00
Michele Caini
de35cbf4af
type_info: add conversion operators to underlying types ( close #664 )
2021-02-22 14:48:35 +01:00
Michele Caini
bb1acee36a
entity:
...
* sparse_set: added optional user data to ::remove and ::clear
* sparse_set: remove the payload, it was really meh
* storage: review sigh_storage_mixin, simplified storage_adapter_mixin
* registry: pass itself twhen adding/patchin/removing components
test: updated tests for sparse set and poly storage
examples: added a test to avoid regressions on storage_adapter_mixin
2021-02-22 14:32:29 +01:00
Michele Caini
ccdaec86b3
poly: added configurable sbo size (0 -> forced dyn)
2021-02-20 00:12:43 +01:00
Michele Caini
42afeef993
any: updated tests (sbo vs zeroed sbo size)
2021-02-19 23:46:44 +01:00
Michele Caini
3d06911886
test: code coverage (codecov is odd sometimes)
2021-02-19 16:26:55 +01:00
Michele Caini
1aec7f71b8
any: doc + test for configurable sbo
2021-02-19 14:45:26 +01:00
Michele Caini
07565927f2
any:
...
* added configurable sbo size (0 -> forced dyn)
* reverted changes for forced dyn vtable
2021-02-19 12:51:30 +01:00
Michele Caini
1249a4f8d3
any/meta_any/poly: as_ref is a member function, no longer an in-class friend function exported in the global namespace
2021-02-19 11:19:32 +01:00
Michele Caini
4e631f1536
meta_handle: deleted copy constructor ( close #661 )
2021-02-18 23:49:39 +01:00
Michele Caini
8149e204d2
*: refine code that msvc accepts by mistake ( 🤦♂️ )
2021-02-16 15:55:45 +01:00
Michele Caini
169b816613
entity:
...
* sparse_set: stable virtual remove
* basic_storage: fake get for empty types,
* sigh_storage_mixin: use swap_and_pop, drop ::remove, ignore emptiness
* poly_storage: ::remove is no longer part of its interface by default
2021-02-16 14:46:42 +01:00
Michele Caini
48edf077fc
sigh_storage_mixin:
...
* Owner as template parameter (to make it reusable in other contexts)
* Use storage payload for retrieving the owner from the storage
2021-02-16 10:44:03 +01:00
Michele Caini
91db153710
registry: rebind pools from move constructor/assignment operator
2021-02-15 18:11:02 +01:00
Michele Caini
0eb6d7de3c
sparse_set: added opaque payload (mainly meant to attach owners for augmented storage mixins)
2021-02-15 15:15:41 +01:00
Michele Caini
3118cd4fa5
sparse_set: added ::at to get the entity at a given position, if any
2021-02-15 14:56:18 +01:00
Michele Caini
a8d95b284d
meta: general renaming, size -> arity when it returns the arity of a function
2021-02-12 11:05:07 +01:00
Michele Caini
772c2dba2f
type traits: add is_std_hashable[_v] (see #629 )
2021-02-11 11:57:55 +01:00
Michele Caini
b04b966db1
meta:
...
* updated meta_any::operator== to make it consistent across boundaries
* constness review for meta_type_node
2021-02-10 15:57:20 +01:00
Michele Caini
d50655c4f7
test: suppress a couple of shadow warnings
2021-02-09 18:20:42 +01:00
Michele Caini
5e4c63736b
meta: added minimal class template support to meta_type
2021-02-09 17:18:24 +01:00
Michele Caini
b90b71c8c0
meta: support for proxy pointers
2021-02-09 10:57:50 +01:00
Michele Caini
e94c0d003a
any/registry:
...
* copying an entt::any always returns a copy of the contained object
* registry::storage returns references (eventually const) to the poly storage
2021-02-08 11:46:22 +01:00
Michele Caini
5c46ccb37e
meta:
...
* avoid copies from meta_type::invoke (small perf improvement)
* meta_handle::operator* no longer available
* added meta_handle::operator bool
2021-02-08 11:33:53 +01:00
Michele Caini
4efbe24607
test: minor changes (code coverage)
2021-02-04 12:14:35 +01:00
Michele Caini
e96ac1f6ff
handle: rename ::has/::any to ::all_of/any_of
2021-02-04 12:03:38 +01:00
Michele Caini
14915368c7
test: avoid some ASSERT_DEATH that don't trigger in release mode
2021-02-04 11:50:52 +01:00