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
ENTT_NO_MIXIN to disable the sigh mixin by default
Print assertion messages upon failure
core:
Avoid uninitialized length in all (corner) cases
Export more types as forward declarations (see fwd.hpp)
Lambda support for nth_argument
Class level new/delete support for any
Class level new/delete support for uninitialized_construct_using_allocator
Make the monostate return *this from operator=
Enable enable_borrowed_range/enable_view for a few types
Make popcount public (waiting for C++20)
Rename is_power_of_two to has_single_bit (waiting for C++20)
Introduce bit.hpp and move a few functions there (ie has_single_bit)
Self assignment support for basic_any<...>
entity:
Avoid unchecked refresh loops on single type views
Refine empty registry check in the snapshot loader constructor
Stop groups from swapping observed types in their pools
Make sparse set sort_as function return an iterator past the last shared element
Update registry destroy function to use sparse set sort_as internally
Add operator bool to runtime views
Assert when emplacing invalid entities through a registry
Improved registry valid function
Decouple size and next identifier in the storage entity
Faster and memory-friendly storage entity create-with-hint function
Update the tombstone class to support zero-sized versions
Update entity traits the fully support zero-sized versions
Return the correct value from sparse set push functions
Drop sparse set scoped iterators (ie begin(N)/end(N))
Add element_type to the storage class as opposed to value_type
Make registry traits_type type member private
Make sparse set traits_type type member private
Make storage traits_type type member private
Avoid using weak ranges twice in the sigh_mixin class
Support comparisons between basic_handle<...> and null_t
Reliable valid function for empty basic_handle<...>s
Add pointer stable types support to the snapshot loader class
Branch-less sparse set sort and sort_as functions
Branch-less centralized swap-only mode check for views
Refine storage log messages to avoid ambiguity
Introduce the new basic_table and table classes
In/Out edges support for basic_organizer
Single type view ::operator-> to get access to the underlying storage
All registry now assert on custom user defined entity storage
Add storage_policy constexpr member to all storage classes
Enable enable_borrowed_range/enable_view for a few types
Decouple all types except basic_storage from component_traits
Drop the Mask parameter of the basic_observer class
View specialization and improvements for swap-only storage
View specialization and improvements for swap-and-pop storage
View specialization and improvements for in-place storage
Avoid checking for filter validity when iterating views
Allow resetting a storage in the registry via the reset function
sigh_mixin automatic signal registration support for components
Generic bind function in the basic_sparse_set class
Reactive mixin and storage (designed to replace the observer class)
operator bool and registry functions for sigh_mixin
sigh_mixin transparent support to derived registries
graph:
Add an empty method to the flow class
Add an empty method to the adjacency_matrix class
meta:
Add is_pointer meta traits
Updated meta type is_pointer function to make it faster and more reliable
User defined traits for meta objects
Self assignment support for meta_any
User defined arbitrary data support for meta types, meta data and meta functions
Guaranteed execution/iteration order on overlaoded meta functions
Support for creating different meta types from different factories concurrently
Support noexcept functions whenever a free or member function is allowed
Improve lookup time of member objects and reduce their compile-time cost
poly:
Improve support for inherited concepts
resource:
Add reset functions to resource class
Support swap-ping resources
signal:
Support for free and member noexcept functions to the delegate class
Build system
Avoid installing include/BUILD.bazel
Updated IWYU version
Any other business
Removed all previously deprecated methods
Shared types in the test suite to avoid duplication
Full review to reduce NOLINT directives as much as possible
Refine linter configuration and address as many warnings as possible
Updated IWYU entt.imp as needed
Drop support to Android NDK r17
Drop support to MSVC toolset v141
Natvis support
All natvis files have been updated where necessary. New entries:
Natvis view for basic_handle class
Natvis view for meta_ctx class
Natvis view for meta_type_descriptor class
Natvis view for meta_custom_node class
Breaking changes
Sparse set scoped iterators are no longer a thing, check the deletion policy and use the free list value as needed instead
Registry traits_type is private, use entt_traits class and entity_type type member instead
Sparse set traits_type is private, use entt_traits class and entity_type type member instead
Storage traits_type is private, use component_traits class and value_type type member instead
The basic_observer class doesn't accept anymore a Mask template parameter
Renamed is_power_of_two to has_single_bit and moved it to bit.hpp
Removed support to empty each callbacks for single non-empty type views
Deprecate meta properties, use the new custom data support for meta types, data and functions instead
basic_sparse_set doesn't require anymore to wrap objects with anys when passing them to bind
The observer class is now deprecated, use the reactive mixin and storage 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.
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_NO_MIXINto disable the sigh mixin by defaultcore:lengthin all (corner) casesfwd.hpp)nth_argumentanyuninitialized_construct_using_allocatormonostatereturn*thisfromoperator=enable_borrowed_range/enable_viewfor a few typespopcountpublic (waiting for C++20)is_power_of_twotohas_single_bit(waiting for C++20)bit.hppand move a few functions there (iehas_single_bit)basic_any<...>entity:sort_asfunction return an iterator past the last shared elementdestroyfunction to use sparse setsort_asinternallyoperator boolto runtime viewsvalidfunctionsizeand next identifier in the storage entitycreate-with-hint functionpushfunctionsbegin(N)/end(N))element_typeto the storage class as opposed tovalue_typetraits_typetype member privatetraits_typetype member privatetraits_typetype member privatesigh_mixinclassbasic_handle<...>andnull_tvalidfunction for emptybasic_handle<...>ssortandsort_asfunctionsbasic_tableandtableclassesbasic_organizer::operator->to get access to the underlying storagestorage_policyconstexpr member to all storage classesenable_borrowed_range/enable_viewfor a few typesbasic_storagefromcomponent_traitsMaskparameter of thebasic_observerclassresetfunctionsigh_mixinautomatic signal registration support for componentsbindfunction in thebasic_sparse_setclassobserverclass)operator boolandregistryfunctions forsigh_mixinsigh_mixintransparent support to derived registriesgraph:emptymethod to theflowclassemptymethod to theadjacency_matrixclassmeta:is_pointermeta traitsis_pointerfunction to make it faster and more reliablemeta_anynoexceptfunctions whenever a free or member function is allowedpoly:resource:resetfunctions to resource classswap-ping resourcessignal:noexceptfunctions to thedelegateclassBuild system
include/BUILD.bazelAny other business
NOLINTdirectives as much as possibleentt.impas neededNatvis support
All natvis files have been updated where necessary. New entries:
basic_handleclassmeta_ctxclassmeta_type_descriptorclassmeta_custom_nodeclassBreaking changes
traits_typeis private, useentt_traitsclass andentity_typetype member insteadtraits_typeis private, useentt_traitsclass andentity_typetype member insteadtraits_typeis private, usecomponent_traitsclass andvalue_typetype member insteadbasic_observerclass doesn't accept anymore aMasktemplate parameteris_power_of_twotohas_single_bitand moved it tobit.hppeachcallbacks for single non-empty type viewscustomdata support for meta types, data and functions insteadbasic_sparse_setdoesn't require anymore to wrap objects withanys when passing them tobindobserverclass is now deprecated, use the reactive mixin and storage insteadAny 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.
Beta Was this translation helpful? Give feedback.
All reactions