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
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Changelog
config:ENTT_ID_TYPEin the std namespacecontainer:dense_setiterator_conceptto dense map iteratorscore:any_policybasic_any<...>::policy()member functionis_equality_comparable[_v]to fully support optional typesnth_argumenttype_list_uniqueentity:basic_registry<...>::validfully backward compatibledeletion_policy::swap_onlymode directly managed at sparse set levelbasic_sparse_set<...>::free_listto set/get the head of the free list if allowedbasic_sparse_set<...>::swap_onlypop protected functionbasic_sparse_set<...>(only useful with swap-only deletion policy)eachfunction 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_entityfunction to get entities from componentssort_asfor sparse setssort_asfor groupsbasic_registry<...>::try_getdoesn't create storage anymorevalue_typefor storage entity isvoidsigh_mixinsupport to custom registry typesiterator_conceptto view iteratorsiterator_conceptto groups iteratorsiterator_conceptto registry iteratorsiterator_conceptto handle iteratorsiterator_conceptto storage iteratorsiterableandconst_iterabletypes exposed by the registry classbasic_view::operator[]for size types to avoid forcing non-integral entity typesgraph:iterator_conceptto adjacency matrix iteratorsmeta:meta_any_policymeta_any::policy()member function::reservemeta_type::can_castmember functionmeta_type::can_convertmember function::rebindaccepts a value rather than ananyobject::rebindmeta_sequence_container::resizesupport to non default constructible typesbasic_meta_sequence_container_traits::fixed_sizeavailable to final usersiterator_conceptto meta iteratorsprocess:basic_scheduler<...>was fully redesigned for the better.thensupport forbasic_scheduler<...>basic_scheduler<...>resource:iterator_conceptto cache iteratorsBuild system
SizeBenchbzlmodsupport with testsAny other business
entt.impfileNatvis support
All natvis files have been updated where necessary.
Breaking changes
core:nth_argumentaccepts a type rather than a function, usedecltypeas neededentity:basic_sparse_set<...>::swap_atis now privatebasic_storage<...>::in_useis deprecated, usebasic_sparse_set<...>::free_listinsteadtype_traitstype memberbasic_sparse_set<...>don't invokecompactautomatically anymoreto_entityfunction is deprecated, use the storage based version insteadbasic_sparse_set<...>::sort_asis deprecated, use iterator-based overload of the same function insteadbasic_group<...>::sort_asis deprecated, use iterator-based overload of the same function instead::packfunction is deprecated, use iterator-basedsort_asinsteadbasic_view::operator[]no longer available for size types to avoid forcing non-integral entity typesbasic_sparse_set<...>::atis deprecated as ambiguous, useoperator[]insteadmeta:::rebindaccepts a value rather than ananyobjectrebindinsteadbasic_meta_sequence_container_traits::fixed_sizerequired 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