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
-
Changelog
config
:ENTT_NOEXCEPT
and exceptions handlingENTT_CONSTEXPR
(to get around some nasty issues with major compilers)ENTT_ASSERT_CONSTEXPR
(to help further with extreme customizations)container
:max_size
,count
andequal_range
functionsmax_size
,count
andequal_range
functionscore
:forward_apply
utilitytype_list_index[_v]
utility for type liststype_list_transform[_t]
utility for type listsnth_argument
utility to easily extract the n-th argument of a functioniota_iterator
(waiting for C++20)operator*
toinput_iterator_poointer
operator!=
forany
into an in-class functionstd::aligned_storage
_twith
any` (deprecated since C++23)is_tuple[_v]
entity
get_t
andexclude_t
into plain aliases fortype_list
basic_registry<...>::group/group_if_exists
basic_sparse_set<...>::get
is now[[nodiscard]]
ignore_as_empty_v<void>
is always truestorage<void>
as a typeless storage onlysigh_storage_mixin
storage_type_t
andstorage_for[_t]
as_group
andas_view
are transparent to the registry type (allocator oriented design)invoke
andto_entity
helpers support all types of registries now (allocator oriented design)basic_handle<...>::visit
with::storage
to return an iterable object rather than accepting lambdasorganizer
class uses the newflow
builder under the hoodget
function, deprecatedat
emplace_as
function, deprecatedemplace_hint
insert_or_assign
functionswap_and_pop
andin_place_pop
, storage classes only have to implementpop
nowbasic_registry<...>
class (registry allocators also propagate to their pools)swap
andget_allocator
functionsstorage_type[_t]
andstorage_for[_t]
basic_view<...>::refresh
to reinitialize the leading pool of a viewgraph
(👈 new module):adjacency_matrix
class with support for directed and undirected graphsflow
) to create execution graphs from tasks and resource requirementsdot
functions to convert an execution graph (and a graph in general) to the dot formatlocator
:handle
andreset
)meta
:insert
/erase
of meta sequence containersmeta_type::remove_pointer
meta_type::is_integral
andmeta_type::is_signed
meta_associative_container::erase
returns the number of elements removedmeta_range
is now an alias template ofiterable_adaptor
void *
-to-meta_any
utility function formeta_type
sstd::list
andstd::deque
are also supported as meta sequence containersoperator!=
formeta_any
into an in-class functionmeta_data_node
,meta_func_node
and so on) are no longer staticmeta_construct
also accepts lambdaspoly
:std::aligned_storage
_twith
poly` (deprecated since C++23)process
:fwd.hpp
file for the submoduleresource
:handle_type
andelement_type
handle
to access the underlying handlesignal
:emitter
classdispatcher
uses now anstd::allocator<void>
by defaultsigh
uses now anstd::allocator<void>
by defaultbasic_emitter
Any other business:
constexpr
noexcept
no matter whatENTT_DEBUG_TEST
and 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.natvis
for the newly added submodule.Breaking changes
config
:ENTT_NOEXCEPT[_IF]
no longer existscore
:identifier
was renamed toident
ident::identifer_type
was renamed toident::value_type
family::family_type
was renamed tofamily::value_type
entity
:entity/utility.hpp
file, usefwd.hpp
insteadbasic_registry<...>::group/group_if_exists
basic_registry<...>::storage<T>
doesn't accept const types anymorestorage_traits
was renamed tostorage_type
storage_type::storage_type
was renamed tostorage_type::type
basic_storage
class templatestorage_type
utilitybasic_handle<...>::visit
was removed, use::storage
instead (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_meta
is no longer available (it doesn't fit with context support), usemeta_any
constructors directly insteadresource
:resource::use_count
, usehandle().use_count()
insteadsignal
:emitter
classAny 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