Michele Caini
ed2c714419
compressed_pair: added support for structured binding (with tests)
2021-07-27 18:54:28 +02:00
Michele Caini
ef7731fb8b
storage: use underlying allocator
2021-07-27 18:54:28 +02:00
Michele Caini
b5ec03f585
sparse_set:
...
* added get_allocator
* internal review
2021-07-27 18:54:28 +02:00
Michele Caini
4171b4ae47
resource_handle: add ::use_count ( close #727 )
2021-07-27 18:53:49 +02:00
Michele Caini
8978a0d159
core:
...
* added trait is_ebco_eligible[_v]
* added class compressed_pair
* tests and doc for compressed_pair
2021-07-27 18:53:49 +02:00
Michele Caini
7f59fc6321
test: minor changes
2021-07-27 18:53:49 +02:00
Michele Caini
0754f108c9
sparse_set: fix an issue with assuring pages properly on emplace ( close #746 )
2021-07-27 18:53:09 +02:00
Michele Caini
1f1e02fee1
build system: test id type std::uint64_t on the CI, all platforms
2021-07-26 23:48:26 +02:00
Michele Caini
6d1e4fb3da
test: make tests for entity traits work when id_type is std::uint64_t
2021-07-26 23:48:23 +02:00
Michele Caini
9090f84611
test: make tests for hashed string work when id_type is std::uint64_t
2021-07-26 23:48:19 +02:00
Michele Caini
2b07b92039
meta (prep for hook func):
...
* removed meta_type::reset
* added meta_reset overloads
2021-07-23 15:47:40 +02:00
Michele Caini
959bc269e4
test: get rid of inconsistent line ( close #741 )
2021-07-23 07:53:51 +02:00
Michele Caini
d6cea80768
core: make is_equality_comparable[_v] work with iterators ( close #739 )
2021-07-22 18:08:19 +02:00
Michele Caini
ad61b0c84e
meta: removed parent link from meta nodes
2021-07-22 17:21:09 +02:00
Michele Caini
4993961c16
*: removed deprecated stuff
2021-07-22 15:20:08 +02:00
Michele Caini
89aece7c28
meta: removed meta_type::is_void
2021-07-21 11:35:35 +02:00
Michele Caini
f64af2e69d
meta: get rid of useless boolean values in the return types of meta containers
2021-07-21 11:35:35 +02:00
Michele Caini
6e925c7cdd
meta: container support review (less instantiations, faster to compile)
2021-07-21 11:35:35 +02:00
Michele Caini
dcddb7d50e
registry: allow non-const types in const overloads of registry context variable getters ( close #720 )
2021-06-30 09:35:36 +02:00
Michele Caini
4e870b83cd
test: suppress warnings due to suggested braces
2021-06-29 15:17:58 +02:00
Michele Caini
ac655902a0
storage:
...
* internal review for memory management
* added support for nosy destructors to ::in_place_pop
* optimized ::emplace/::insert
2021-06-29 15:05:03 +02:00
Michele Caini
e4fb293b55
sparse_set: added ::emplace_back
2021-06-29 12:37:39 +02:00
Michele Caini
d3df64ef4b
sparse_set: emplace returns the slot used for insertion
2021-06-28 18:51:28 +02:00
Michele Caini
93e3d14f34
sparse_set: added ::slot to return the next slot available for insertion
2021-06-28 18:46:02 +02:00
Michele Caini
bc687d412d
test: suppress some warnings due to [[nodiscard]]
2021-06-28 18:02:43 +02:00
Michele Caini
d4b59aff97
sparse_set: tombstone/null debug check in ::contains
2021-06-28 16:51:24 +02:00
Michele Caini
c61e98009f
registry/benchmark: rollback optimized remove/erase (benchmarks have shown that they are not worth it)
2021-06-28 10:19:27 +02:00
Michele Caini
44bccaaad6
basic_registry:
...
* added fast path to destroy
* added fast path to remove
* added fast path to erase
* minor changes
2021-06-28 09:24:12 +02:00
Michele Caini
0c213fca40
type_traits:
...
* added entt::is_iterator[_v]
* added entt::is_iterator_type[_v]
2021-06-28 09:09:55 +02:00
Michele Caini
eb2b724902
benchmark: tombstone policy runs
2021-06-24 14:04:35 +02:00
Michele Caini
1f8c896181
registry:
...
* deprecated ::destroyed (use ::released instead)
* added ::release overloads (aka force-destroy)
2021-06-24 10:51:03 +02:00
Michele Caini
206d31f27a
registry: const ::view/::group also support non-const types ( close #715 )
2021-06-23 15:37:46 +02:00
Michele Caini
6709331182
resource_handle: conversion functions ( close #706 )
2021-06-22 18:54:27 +02:00
Michele Caini
9460e04ea5
entt_traits: review/cleanup
2021-06-22 15:39:15 +02:00
Michele Caini
462bfea733
entt_traits: review to reduce the risk of ambiguous calls
2021-06-22 13:03:32 +02:00
Michele Caini
2e86c1f1a2
component: add basic_component_traits aside component_traits
2021-06-22 09:52:43 +02:00
Michele Caini
8aa4d46ce0
runtime_view: support for storage policy (tombstones)
2021-06-21 15:18:13 +02:00
Michele Caini
cdf67a1421
sparse_set: public ::policy method for opaque runtime detection
2021-06-21 14:44:09 +02:00
Michele Caini
2c35203647
view:
...
* split view iterator from multi-type view
* stable/packed storage policy support
2021-06-21 13:04:37 +02:00
Michele Caini
03511f39b1
registry:
...
* prevent groups from being used with tombstones
* support to compact one, several or all pools
2021-06-21 12:59:26 +02:00
Michele Caini
d49e7ba4b2
sparse_set/storage:
...
* added component traits (component.hpp)
* support for in-place delete (tombstones)
2021-06-21 12:56:33 +02:00
Michele Caini
d093df02ac
test: minor changes
2021-06-21 12:39:18 +02:00
Michele Caini
90be1db402
entity:
...
* extended entt_traits<T>::to_type support
* added null_t::operator|
* added tombstone_t::operator|
2021-06-04 11:01:26 +02:00
Michele Caini
e2e433480b
entity/registry:
...
* added entt_traits<T>::reserved()
* added tombstone_t type and tombstone constant
* create-with-hint also accepts null entities (discarded)
* registry skips over tombstone versions and rejects them
2021-06-03 09:06:34 +02:00
Michele Caini
b8bc3e4e94
test: exception safety for sparse set and storage
2021-06-03 08:44:48 +02:00
Michele Caini
ea614a0f3f
entity: review of entt_traits<T>::to_type
2021-05-28 08:59:50 +02:00
Michele Caini
3e7dc7af29
entity:
...
* review of entt_traits design
* added static constexpr member function entt_traits::to_integral
* added static constexpr member function entt_traits::to_entity
* added static constexpr member function entt_traits::to_version
* added static constexpr member function entt_traits::to_type
* custom class identifiers must expose member type entity_field
* it's no longer required to specialize entt_traits (breaking change)
2021-05-28 08:59:50 +02:00
Michele Caini
7d141cb183
storage: fix move ctor/op
2021-05-27 16:16:45 +02:00
Michele Caini
755699c31b
config:
...
* removed entt::page_size
* renamed ENTT_PAGE_SIZE to ENTT_SPARSE_PAGE
* added ENTT_PACKED_PAGE (page size for component arrays)
2021-05-25 10:07:20 +02:00
Michele Caini
92414c91b5
sparse_set/storage: review memory management for fancy allocators and the like
2021-05-24 11:53:45 +02:00