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
Michele Caini
0ff5c18743
registry: rename ::any to ::any_of
2021-02-04 09:45:11 +01:00
Michele Caini
240814cc85
registry: rename ::has to ::all_of
2021-02-04 09:36:28 +01:00
Michele Caini
e5fa67850b
sparse_set/registry: avoids UB with sparse_set::clear and component-less registry::clear
2021-02-03 16:18:25 +01:00
Michele Caini
1c1c3eb271
meta: added support to self pointer in meta_any
2021-01-29 22:13:31 +01:00
Michele Caini
a03a569534
meta: support for std::vector<bool> and the like
2021-01-29 18:58:18 +01:00
Michele Caini
309fb0fa83
test: updated storage poly example ( close #644 )
2021-01-29 11:10:01 +01:00
Michele Caini
0f951cd322
test: suppress a warning due to an unused variable
2021-01-25 15:22:46 +01:00
Michele Caini
cf0da32fd0
meta: iterators of meta associative containers return keys by const reference rather than by copy
2021-01-25 15:12:59 +01:00
Michele Caini
5a3085c42b
registry: removed data<T> and raw<T> (use view<T>::data/::raw instead)
2021-01-25 12:29:22 +01:00
Michele Caini
2822eda858
poly: added ::reset
2021-01-23 18:22:15 +01:00
Michele Caini
6c804b5ca2
meta: added meta_any::reset
2021-01-23 18:19:11 +01:00
Michele Caini
a045c88c61
any: added ::reset
2021-01-23 18:04:03 +01:00
Michele Caini
a5fdf917df
test: minor changes (code coverage)
2021-01-22 20:13:15 +01:00
Michele Caini
80a0e47f1a
core: more tests for hashed_string (code coverage)
2021-01-22 15:39:03 +01:00
Michele Caini
a304313ad4
any: more tests for the support to not copyable types (code coverage)
2021-01-22 15:28:24 +01:00
Michele Caini
05b1d5a4da
meta: more tests for entt::resolve (code coverage)
2021-01-22 15:22:36 +01:00
Michele Caini
edeef3541c
meta: tests (code coverage) for meta_ctor (implicitly generated default constructor)
2021-01-22 15:20:03 +01:00
Michele Caini
cd929d8e65
meta: review + tests (code coverage) for implicitly generated default constructors
2021-01-22 15:17:58 +01:00
Michele Caini
c35614fb63
meta: more tests for meta pointers (code coverage)
2021-01-22 15:08:45 +01:00
Michele Caini
18e16b09f2
any: more tests (code coverage)
2021-01-22 14:57:50 +01:00
Michele Caini
b18b76c1f0
meta: as_ref_t adapts to const objects/const-ref return types
2021-01-22 11:41:17 +01:00
Michele Caini
fad3bdeed4
meta: ::reset doesn't remove the implicitly generated default constructors
2021-01-20 15:29:35 +01:00
Michele Caini
ba098e1199
any: use actual constructors to be more like std::any
2021-01-15 17:24:10 +01:00
Michele Caini
0ec755fccf
meta: iterable base types as instances of meta_type
2021-01-15 14:34:27 +01:00
Michele Caini
4aea1567db
type_traits: make is_equality_comparable work with all major compilers
2021-01-15 10:37:14 +01:00
Michele Caini
446c8df3b4
type_traits: added type_list_diff[_t]
2021-01-15 08:36:22 +01:00
Michele Caini
f4bd868d6a
type_traits: is_equality_comparable, support for standard containers
2021-01-14 12:56:31 +01:00
Michele Caini
39ecd1545c
meta: support for dereferencing pointers to functions
2021-01-13 13:14:21 +01:00
Michele Caini
9b80c0028d
meta:
...
* implicitly generated default constructor (overridable)
* pointer-like to void support (no dereference)
2021-01-13 11:53:15 +01:00
Michele Caini
35276b55af
any: support for non-copyable types
2021-01-12 16:24:18 +01:00
Michele Caini
3eb00382e7
meta: removed meta_base, meta_base_node is used internally when needed
2021-01-11 10:46:51 +01:00