Commit Graph
2169 Commits
Author SHA1 Message Date
Michele Caini cd9ae1fbad poly: ::emplace support for reference types 2021-03-03 12:25:34 +01:00
Michele Caini 54e9bc86cc doc: updated links 2021-03-02 12:05:49 +01:00
Michele Caini a1dd4c28c3 view: clean up 2021-03-02 11:21:40 +01:00
Michele Caini 6d3857f337 registry: clean up 2021-03-01 23:55:57 +01:00
Michele Caini c4be3e731a poly: fwd.hpp 2021-02-28 23:29:36 +01:00
Michele Caini ea4407b847 doc: fixed typo 2021-02-28 23:24:32 +01:00
Michele Caini a62a83044f poly: make it work also with non-default Len 2021-02-27 17:34:09 +01:00
Michele Caini e7e7b06744 doc: updated links 2021-02-26 14:36:20 +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 cc7d9e03d9 doc: updated list of similar projects 2021-02-23 14:39:37 +01:00
Michele Caini c8639ae434 meta: minor changes 2021-02-23 12:00:59 +01:00
Michele Caini 85cf32516e view: minor changes 2021-02-22 16:52:54 +01:00
Michele Caini bc85817b07 doc: updated doc for type_seq and the like 2021-02-22 16:39:42 +01:00
Michele Caini 1016394be5 *: minor changes 2021-02-22 16:35:36 +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 c6a2ed78c3 poly: add missing template keyword 2021-02-22 09:45:55 +01:00
Michele Caini 7729958082 doc: updated links 2021-02-21 16:39: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 98f929e41e any: try to get around an issue with clang only 2021-02-19 16:23:33 +01:00
Michele Caini 94d4e0231e *: suppress a few warnings + fix a call that msvc accepted by mistake 2021-02-19 16:11:19 +01:00
Michele Caini e60cdb2e3b config: update ENTT_PAGE_SIZE 2021-02-19 15:50:09 +01:00
Michele Caini 550c021097 any: make VS happy :) 2021-02-19 14:56:39 +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 fda78ede1b any: prepare for in-place forced dynamic construction 2021-02-19 11:48:25 +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 1757dbc225 registry: get around an issue of gcc 2021-02-16 17:12:02 +01:00
Michele Caini 8149e204d2 *: refine code that msvc accepts by mistake (🤦‍♂️) 2021-02-16 15:55:45 +01:00
Michele Caini 412f2ef63e doc: updated/reviewed 2021-02-16 15:08:34 +01:00
Michele Caini ea33673daa registry: faster, better ::clear 2021-02-16 14:53:33 +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 ea1f010b1a sparse_set/storage: swap_at and swap_and_pop are protected and non-final 2021-02-15 15:57:17 +01:00
Michele Caini 935a852745 storage:
* Removed storage_adapter_mixin (intermediate step towards the owner-as-payload model)
* The class sigh_storage_mixin expects a plain storage as a base class (intermediate step towards the owner-as-payload model)
* Further reduced the number of instantiations
* All storage classes must expose a ::patch function
2021-02-15 15:56:27 +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 18832fcb37 core: make type_id [[nodiscard]] (see #658) 2021-02-14 11:04:12 +01:00
Michele Caini 612554f6af registry: minor changes 2021-02-12 18:18:39 +01:00
Michele Caini 1c794591b9 sparse_set: review sort_n 2021-02-12 15:47:52 +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
Kartik Saranathan 9d1a210c97 core: PS4 build fix for entt::any (#657)
PS4 headers doesn't define __cpp_lib_launder which fails to compile with -Werror
2021-02-11 10:16:28 +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