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
Michele Caini
e2c61d90e9
meta: use meta_node internally to generate template_info
2021-02-09 18:27:40 +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
722033e906
meta: split node.hpp and meta.hpp
2021-02-09 09:59:51 +01:00
Michele Caini
b6ec91fcd0
doc: updated links, removed broken one
2021-02-09 08:17:49 +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
fd989feea3
any: review copy, prepare for #652
2021-02-06 23:22:32 +01:00
Michele Caini
1b53e83dde
any: minor changes
2021-02-06 18:35:08 +01:00
Michele Caini
3ebe827b51
doc: minor changes
2021-02-05 11:10:04 +01:00
Michele Caini
b8266e1169
registry: minor changes
2021-02-04 16:12:06 +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
1912350cc6
registry: use entt::any to store context variables
2021-02-04 09:21:27 +01:00
Michele Caini
146faa6008
doc: updated links
2021-02-04 08:20:03 +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
1377b51341
doc: minor changes
2021-02-03 13:07:39 +01:00
Ευάριστος
db67fb3539
build system: delete @bazel_tools//src/conditions:windows_msys. ( #649 )
...
This condition is no longer available from Bazel 4.0.0.
2021-02-03 10:08:38 +01:00
Michele Caini
6d216406f3
registry: minor changes
2021-02-03 10:04:16 +01:00