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
storage_type::storage_type was renamed to storage_type::type
Entity and component type were flipped in the definition of the basic_storage class template
Entity and component type were flipped in the definition of the storage_type utility
basic_handle<...>::visit was removed, use ::storage instead (iterable model)
basic_registry<...>::storage(id) returns a (possibly null) pointer rather than an utterly annoying iterator
meta:
Container traits don't really support plain arrays anymore (if they ever did)
Removed meta_type::base(id) because pointless
Meta data and meta functions no longer return the associated id from the API
Meta range iterators return now an id and meta object pair (i.e. for meta data or functions from a meta type)
Only the single property API is now available for attaching properties to meta objects (no more meta_factory<...>::props)
make_meta is no longer available (it doesn't fit with context support), use meta_any constructors directly instead
resource:
Removed resource::use_count, use handle().use_count() instead
signal:
Full review of the emitter class
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.
enhancementaccepted requests, sooner or later I'll do itdiscussionit sounds interesting, let's discuss it
1 participant
Heading
Bold
Italic
Quote
Code
Link
Numbered list
Unordered list
Task list
Attach files
Mention
Reference
Menu
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_NOEXCEPTand exceptions handlingENTT_CONSTEXPR(to get around some nasty issues with major compilers)ENTT_ASSERT_CONSTEXPR(to help further with extreme customizations)container:max_size,countandequal_rangefunctionsmax_size,countandequal_rangefunctionscore:forward_applyutilitytype_list_index[_v]utility for type liststype_list_transform[_t]utility for type listsnth_argumentutility to easily extract the n-th argument of a functioniota_iterator(waiting for C++20)operator*toinput_iterator_poointeroperator!=foranyinto an in-class functionstd::aligned_storage_twithany` (deprecated since C++23)is_tuple[_v]entityget_tandexclude_tinto plain aliases fortype_listbasic_registry<...>::group/group_if_existsbasic_sparse_set<...>::getis now[[nodiscard]]ignore_as_empty_v<void>is always truestorage<void>as a typeless storage onlysigh_storage_mixinstorage_type_tandstorage_for[_t]as_groupandas_vieware transparent to the registry type (allocator oriented design)invokeandto_entityhelpers support all types of registries now (allocator oriented design)basic_handle<...>::visitwith::storageto return an iterable object rather than accepting lambdasorganizerclass uses the newflowbuilder under the hoodgetfunction, deprecatedatemplace_asfunction, deprecatedemplace_hintinsert_or_assignfunctionswap_and_popandin_place_pop, storage classes only have to implementpopnowbasic_registry<...>class (registry allocators also propagate to their pools)swapandget_allocatorfunctionsstorage_type[_t]andstorage_for[_t]basic_view<...>::refreshto reinitialize the leading pool of a viewgraph(👈 new module):adjacency_matrixclass with support for directed and undirected graphsflow) to create execution graphs from tasks and resource requirementsdotfunctions to convert an execution graph (and a graph in general) to the dot formatlocator:handleandreset)meta:insert/eraseof meta sequence containersmeta_type::remove_pointermeta_type::is_integralandmeta_type::is_signedmeta_associative_container::erasereturns the number of elements removedmeta_rangeis now an alias template ofiterable_adaptorvoid *-to-meta_anyutility function formeta_typesstd::listandstd::dequeare also supported as meta sequence containersoperator!=formeta_anyinto an in-class functionmeta_data_node,meta_func_nodeand so on) are no longer staticmeta_constructalso accepts lambdaspoly:std::aligned_storage_twithpoly` (deprecated since C++23)process:fwd.hppfile for the submoduleresource:handle_typeandelement_typehandleto access the underlying handlesignal:emitterclassdispatcheruses now anstd::allocator<void>by defaultsighuses now anstd::allocator<void>by defaultbasic_emitterAny other business:
constexprnoexceptno matter whatENTT_DEBUG_TESTand the others)iwyu(I'll keep an eye on it and refine things a bit at a time)Natvis support
All natvis files have been updated where necessary.
There exists a new natvis file named
graph.natvisfor the newly added submodule.Breaking changes
config:ENTT_NOEXCEPT[_IF]no longer existscore:identifierwas renamed toidentident::identifer_typewas renamed toident::value_typefamily::family_typewas renamed tofamily::value_typeentity:entity/utility.hppfile, usefwd.hppinsteadbasic_registry<...>::group/group_if_existsbasic_registry<...>::storage<T>doesn't accept const types anymorestorage_traitswas renamed tostorage_typestorage_type::storage_typewas renamed tostorage_type::typebasic_storageclass templatestorage_typeutilitybasic_handle<...>::visitwas removed, use::storageinstead (iterable model)basic_registry<...>::storage(id)returns a (possibly null) pointer rather than an utterly annoying iteratormeta:meta_type::base(id)because pointlessmeta_factory<...>::props)make_metais no longer available (it doesn't fit with context support), usemeta_anyconstructors directly insteadresource:resource::use_count, usehandle().use_count()insteadsignal:emitterclassAny 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