Commit Graph
835 Commits
Author SHA1 Message Date
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
Michele Caini 98b5f7a26a meta: removed meta_conv, meta_conv_node is used internally when needed 2021-01-11 10:34:30 +01:00
Michele Caini 8cb61da9c2 *: minor changes 2021-01-08 11:43:26 +01:00
Michele Caini a7a2c96382 registry: added ::reserve_pools 2021-01-05 09:35:41 +01:00
Michele Caini 18ffbd0027 registry: group -> group_if_exists (close #626) 2021-01-04 08:34:56 +01:00
Michele Caini 29c1766714 registry: const poly storage function 2020-12-24 16:48:07 +01:00
Michele Caini 2e5a9f117c *: cleanup 2020-12-23 19:09:31 +01:00
Michele Caini 2abcbcd30f meta: support for pointer-like types with a custom dereference operator other than operator* 2020-12-23 19:00:05 +01:00
Michele Caini 5d472a1f2e test: suppress warnings 2020-12-23 09:42:40 +01:00
Michele Caini aa979b2046 any/meta:
* added alias constructor to any
* added alias constructor to meta_any
* added alias constructor to poly
* added support for const containers, const deref operator and const views to meta_any
2020-12-23 09:42:36 +01:00