Changelog
-
config:core/attribute.hwas merged withconfig.h
-
core:- ⚠️ Huge performance improvements of the
entt::anyclass due to large internal changes with no impact on the API - Deprecate
basic_any<...>::type()in favor ofbasic_any<...>::info() - Make
stripped_type_namereturn empty views if name is not available - Add a
full_type_namefunction to type info API - Break the dependency between
basic_hashed_stringandstring_view - Make
const char *conversion operator explicit forbasic_hashed_string - Add typed
dataoverloads tobasic_any<...> - Add
has_valueoverloads tobasic_any<...> - Make
basic_anysupport self-assignment smoothly attribute.his no longer a thing, as it was merged withconfig/config.h
- ⚠️ Huge performance improvements of the
-
container:- Transparent lookup for
dense_map<...>::at - Slightly improved perf of all functions based on
dense_map::constrained_find - Slightly improved perf of all functions based on
dense_set::constrained_find
- Transparent lookup for
-
entity:- Deprecate
basic_sparse_set<...>::type()in favor ofbasic_sparse_set<...>::info() - Full support to swap-only policies for runtime views
- A const registry is no longer a sync point for the
basic_organizerclass - Make it possible to
clear()the registry context as needed - Support swapping entity storage objects
- Quit accepting (and silently discarding) arguments for empty types when invoking
::emplaceon a storage - Quit accepting (and silently discarding) arguments for empty types when invoking
::inserton a storage
- Deprecate
-
graph:- Make the
graphmethod of the organizer classconstas it should be
- Make the
-
meta:- ⚠️ Huge performance improvements overall due to large internal changes with no impact on the API
- Introduce
meta_dynamic_extentfor meta sequence containers - Deprecate
basic_meta_sequence_container_traits::fixed_sizein favor ofbasic_meta_sequence_container_traits::extent - Expose the element type in the factory API
- Built-in name support for meta types, data and functions
- Forward declared
meta_factoryandmeta_ctxas it should be - Drop meta destructors support for perf reasons
- Break safe-mode when uninitialized for meta data and meta func
- Remove
operator==andoperator!=formeta_handle - Strip context-only and context-aware copy constructors from
meta_handle - Make
meta_anysupport self-assignment smoothly - Make
as_is_tpolicy match the constness of the returned type, if any - Introduce
as_value_tpolicy to force a copy of the returned value (default) - Allow top-level only searches for meta data and meta functions
- Deprecate const
meta_handle::operator-> - Allow unsetting flags from a meta factory
-
poly:- Deprecate
basic_poly<...>::type()in favor ofbasic_poly<...>::info()
- Deprecate
-
process:- ⚠️ Complete redesign of the module
-
signal- Make
delegatetests work in release mode (disable comdat folding)
- Make
-
tools:- Introduce
davey, an ImGUI based viewer for entities and components (work in progress)
- Introduce
Build system
- Updated IWYU version
- Prepared workflow and build system for
testbedtarget - Renamed
tools.ymltoanalyzer.yml - Natvis files are now part of the source tree
- Install natvis files along with source files if requested
Any other business
- Removed all previously deprecated methods
Natvis support
All natvis files have been updated where necessary.
Breaking changes
-
core:- Deprecated
basic_any<...>::type(), usebasic_any<...>::info()instea0d const char *conversion operator is now explicit forbasic_hashed_string
- Deprecated
-
entity:- Deprecated
basic_sparse_set<...>::type(), usebasic_sparse_set<...>::info()instead - Arguments are no longer accepted when invoking
::emplaceon a storage for empty types - Arguments are no longer accepted when invoking
::inserton a storage for empty types
- Deprecated
-
meta:- Deprecated
basic_meta_sequence_container_traits::fixed_size, usebasic_meta_sequence_container_traits::extentinstead - Meta destructors are no longer available for perf reasons, use C++ type destructors as it should be instead
- Meta data and functions are no longer safe to use when uninitialized, check for validity before doing so
- Removed
operator==andoperator!=formeta_handle, compare underlying objects instead - Removed context-only and context-aware copy constructors from
meta_handlebecause they should not exist - Renamed policy
as_is_ttoas_value_t,as_is_tstill exists but it has a different meaning and behavior now - Deprecated const
meta_handle::operator->, use non-const handles as it should be
- Deprecated
-
poly:- Deprecated
basic_poly<...>::type(), usebasic_poly<...>::info()instead
- Deprecated
-
process:- ⚠️ Complete redesign of the module
Any other business
The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.