You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Full support to reserved bits on entity identifiers (ie for disabling components)
Shared implementation for all types of views
Explicit iterable and const_iterable types exposed by the registry class
Index based view iterators (internal change)
Removed basic_view::operator[] for size types to avoid forcing non-integral entity types
graph:
Added iterator_concept to adjacency matrix iterators
meta:
Introduce meta_any_policy
Add meta_any::policy() member function
Meta container support to ::reserve
Make basic meta container traits publicly available (with revised aPI)
Add meta_type::can_cast member function
Add meta_type::can_convert member function
Meta container ::rebind accepts a value rather than an any object
Meta container iterator support to ::rebind
meta_sequence_container::resize support to non default constructible types
basic_meta_sequence_container_traits::fixed_size available to final users
Correctly initialize all members of meta container wrappers
Added iterator_concept to meta iterators
Improved meta containers performance
process:
basic_scheduler<...> was fully redesigned for the better
In-line .then support for basic_scheduler<...>
Allocator-aware basic_scheduler<...>
resource:
Added iterator_concept to cache iterators
Build system
Make the debug build suitable for SizeBench
Enable more warnings on the CI
bzlmod support with tests
Any other business
Removed all previously deprecated methods
Updated IWYU entt.imp file
Make the library more C++20-friendly
Added a test/example on how to use reserved bits on entity identifiers
Clang tidy config (and cleanup, still a work-in-progress though)
Natvis support
All natvis files have been updated where necessary.
Breaking changes
core:
nth_argument accepts a type rather than a function, use decltype as needed
entity:
basic_sparse_set<...>::swap_at is now private
basic_storage<...>::in_use is deprecated, use basic_sparse_set<...>::free_list instead
Entity storage no longer has a type_traits type member
Sorting functions of basic_sparse_set<...> don't invoke compact automatically anymore
Registry based to_entity function is deprecated, use the storage based version instead
basic_sparse_set<...>::sort_as is deprecated, use iterator-based overload of the same function instead
basic_group<...>::sort_as is deprecated, use iterator-based overload of the same function instead
Storage entity ::pack function is deprecated, use iterator-based sort_as instead
basic_view::operator[] no longer available for size types to avoid forcing non-integral entity types
basic_sparse_set<...>::at is deprecated as ambiguous, use operator[] instead
meta:
Meta container ::rebind accepts a value rather than an any object
Meta container iterators no longer accept underlying iterators on construction, use rebind instead
basic_meta_sequence_container_traits::fixed_size required for explicit specializations
Any other business
The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.
I started a long term process to reduce the number of instantiations and also speed up the compilation.
This release contains MANY changes and great improvements in this regard. Still a work in progress though.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Changelog
config
:ENTT_ID_TYPE
in the std namespacecontainer
:dense_set
iterator_concept
to dense map iteratorscore
:any_policy
basic_any<...>::policy()
member functionis_equality_comparable[_v]
to fully support optional typesnth_argument
type_list_unique
entity
:basic_registry<...>::valid
fully backward compatibledeletion_policy::swap_only
mode directly managed at sparse set levelbasic_sparse_set<...>::free_list
to set/get the head of the free list if allowedbasic_sparse_set<...>::swap_only
pop protected functionbasic_sparse_set<...>
(only useful with swap-only deletion policy)each
function use scoped iterators from sparse setsbegin
/end
) are scoped if needed (ie entity storage view or the like)basic_storage<void>::get_allocator()
works fine tooto_entity
function to get entities from componentssort_as
for sparse setssort_as
for groupsbasic_registry<...>::try_get
doesn't create storage anymorevalue_type
for storage entity isvoid
sigh_mixin
support to custom registry typesiterator_concept
to view iteratorsiterator_concept
to groups iteratorsiterator_concept
to registry iteratorsiterator_concept
to handle iteratorsiterator_concept
to storage iteratorsiterable
andconst_iterable
types exposed by the registry classbasic_view::operator[]
for size types to avoid forcing non-integral entity typesgraph
:iterator_concept
to adjacency matrix iteratorsmeta
:meta_any_policy
meta_any::policy()
member function::reserve
meta_type::can_cast
member functionmeta_type::can_convert
member function::rebind
accepts a value rather than anany
object::rebind
meta_sequence_container::resize
support to non default constructible typesbasic_meta_sequence_container_traits::fixed_size
available to final usersiterator_concept
to meta iteratorsprocess
:basic_scheduler<...>
was fully redesigned for the better.then
support forbasic_scheduler<...>
basic_scheduler<...>
resource
:iterator_concept
to cache iteratorsBuild system
SizeBench
bzlmod
support with testsAny other business
entt.imp
fileNatvis support
All natvis files have been updated where necessary.
Breaking changes
core
:nth_argument
accepts a type rather than a function, usedecltype
as neededentity
:basic_sparse_set<...>::swap_at
is now privatebasic_storage<...>::in_use
is deprecated, usebasic_sparse_set<...>::free_list
insteadtype_traits
type memberbasic_sparse_set<...>
don't invokecompact
automatically anymoreto_entity
function is deprecated, use the storage based version insteadbasic_sparse_set<...>::sort_as
is deprecated, use iterator-based overload of the same function insteadbasic_group<...>::sort_as
is deprecated, use iterator-based overload of the same function instead::pack
function is deprecated, use iterator-basedsort_as
insteadbasic_view::operator[]
no longer available for size types to avoid forcing non-integral entity typesbasic_sparse_set<...>::at
is deprecated as ambiguous, useoperator[]
insteadmeta
:::rebind
accepts a value rather than anany
objectrebind
insteadbasic_meta_sequence_container_traits::fixed_size
required for explicit specializationsAny other business
The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.
I started a long term process to reduce the number of instantiations and also speed up the compilation.
This release contains MANY changes and great improvements in this regard. Still a work in progress though.
Beta Was this translation helpful? Give feedback.
All reactions