| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| EnTT v3.15.0 source code.tar.gz | 2025-03-19 | 897.4 kB | |
| EnTT v3.15.0 source code.zip | 2025-03-19 | 1.0 MB | |
| README.md | 2025-03-19 | 5.1 kB | |
| Totals: 3 Items | 1.9 MB | 1 | |
Changelog
core- Skip most of vtable calls in
anyfor references and dynamically allocated objects - Review
any_policyvalues to better capture the nature of the elements stored withany - Added
any::owner()becauseany_policy::owneris no longer available - Embedded-as-dynamic support for
any(useful to transfer ownership of externally allocated objects) is_iteratorandis_equality_comparablereview to refine them further- Self-moving an
anyputs it in a safe but unspecified state now - Introduce
ENTT_CONSTEVALconfig parameter -
Apply
constevalon appropriate hashed string related functions -
entity: deletion_policy::unspecifiedis now available and equal toswap_and_pop- Skip tombstone checks in more cases and improve performance of view iterators
- Auto-disconnection support for
reactive_mixin - Refined storage fallback mechanism for views to make it work across boundaries
- Support joining views with storage objects directly
- Introduce
generatefunctions in the storage entity to replaceemplace - Add
generatefunctions to the sigh mixin to fully support storage entity as_viewandas_groupare now copyable- Improved
shrink_to_fitto also cleanup the sparse array of a sparse set - Extended
basic_registry<...>::storage<T>const-correctness - Allow customizing
component_traitsbased on the entity type - Default group template parameters for
GetandExcludelists - Make
basic_organizersupport groups too - Fix a bug on view packs when combining views with uninitialized filters
- Make built-in storage mixins support custom private/protected registries
- Support to reserved entities (see
start_fromon the entity storage) -
Make
to_entitywork properly with stable types -
meta: meta_sequence_container::rebindis no longer availablemeta_associative_container::rebindis no longer availablemeta_any::base()to return a const reference to the underlyingany- Deprecated
meta_any_policy,meta_any::policy()andmeta_any::data() - Self-contained
meta_factory<T>to avoid having to go throughmeta<T> - Support taking ownership of passed in pointers on construction for
meta_any meta_type::from_voidallows transferring ownership of elements too- Standalone
meta_dataandmeta_funcimplementations - Make empty
meta_data,meta_funcandmeta_typesafe to use no matter what - Self-moving a
meta_anyputs it in a safe bug unspecified state now - Allow attaching const values of non-
Typetype to meta types - Make
as_refreturn valid objects when the underlying type isvoid meta_any::context()returns the underling meta context- Deprecated multi-setters meta data support
- Deprecated context-aware
meta_getterutilities - Get the context from the instance in the remaining
meta_getterutilities - Deprecated context-aware
meta_invokeutilities - Get the context from the instance in the remaining
meta_invokeutilities - Support deducing meta pointers like types directly
-
Early exit for typed
allow_cast -
signal: - Make it possible to create uninitialized
sinkobjects - Updated definition for
emitter::publish(no forwarding references) - Slightly review
sinkAPI (these changes should be backward compatible)
Build system
- Updated
IWYUversion - Updated lcov configuration to make gtest work with lcov2
ENTT_INSTALLto enable/disable installation steps as needed
Any other business
- Removed all previously deprecated methods
Natvis support
All natvis files have been updated where necessary.
Breaking changes
core:-
Reviewed
any_policyvalues with breaking changes in names to avoid subtle errors on user side -
entity: - Deprecated
emplacein the storage entity, usegenerateinstead -
component_traitsaccepts entity types (possibly breaking if specialized when using a custom entity type), refine specializations -
meta: meta_sequence_container::rebindwas removed, use the constructor insteadmeta_associative_container::rebindwas removed, use the constructor instead- Deprecated
meta_any_policy, useany_policyinstead - Deprecated
meta_any::policy(), use.base().policy()instead - Deprecated
meta_any::data(), use.base().data() - Deprecated
meta<T>, usemeta_factory<T>directly instead - Deprecated multi-setters meta data support, use variant or convertible types instead
- Deprecated context-aware
meta_getterutilities, rebind the handle as needed instead - Deprecated context-aware
meta_invokeutilities, rebind the handle as needed instead
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 some changes in this regard. Still a work in progress though.