Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): update dependency com_github_skypjack_entt to v3.14.0 #82

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jun 15, 2023

This PR contains the following updates:

Package Type Update Change
com_github_skypjack_entt http_archive minor v3.11.1 -> v3.14.0

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

skypjack/entt (com_github_skypjack_entt)

v3.14.0: EnTT v3.14.0

Compare Source

Changelog

  • config:

    • 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.

v3.13.2: EnTT v3.13.2

Compare Source

Changelog

  • Fix an issue on the range-insert in the sigh_mixin class
  • Add full support to empty types in the snapshot classes
  • Suppress an annoying warning by clang in the snapshot classes
Any other business

The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.

v3.13.1: EnTT v3.13.1

Compare Source

Changelog

  • Refine the check in the constructor of the snapshot loader class
  • Avoid swapping observed types from groups
  • Don't install include/BUILD.bazel anymore
Any other business

The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.

v3.13.0: EnTT v3.13.0

Compare Source

Changelog

  • config:

    • Provide coverage for user defined ENTT_ID_TYPE in the std namespace
  • container:

    • Added reverse iterators to dense_set
    • Added iterator_concept to dense map iterators
  • core:

    • Introduce any_policy
    • Add basic_any<...>::policy() member function
    • Improved is_equality_comparable[_v] to fully support optional types
    • Type-based nth_argument
    • Reduce compilation cost of type_list_unique
  • entity:

    • Reintroduced support for storage listeners in snapshot
    • Make basic_registry<...>::valid fully backward compatible
    • Specialization for single type views with exclusion lists
    • Introduced deletion_policy::swap_only mode directly managed at sparse set level
    • Added basic_sparse_set<...>::free_list to set/get the head of the free list if allowed
    • Introduced basic_sparse_set<...>::swap_only pop protected function
    • Updated entity storage to make it use swap-only deletion policy directly
    • Drop view specialization for single type with exclusion list
    • Returns scoped iterators from basic_sparse_set<...> (only useful with swap-only deletion policy)
    • Entity storage use scoped iterators with its iterable objects
    • View each function use scoped iterators from sparse sets
    • View iterators (begin/end) are scoped if needed (ie entity storage view or the like)
    • basic_storage<void>::get_allocator() works fine too
    • Storage based to_entity function to get entities from components
    • Iterator-based sort_as for sparse sets
    • Iterator-based sort_as for groups
    • basic_registry<...>::try_get doesn't create storage anymore
    • value_type for storage entity is void
    • sigh_mixin support to custom registry types
    • Added iterator_concept to view iterators
    • Added iterator_concept to groups iterators
    • Added iterator_concept to registry iterators
    • Added iterator_concept to handle iterators
    • Added iterator_concept to storage iterators
    • Full support to reserved bits on entity identifiers (ie for disabling components)
    • Shared implementation for all types of views
    • Explicit iterable and const_iterable types exposed by the registry class
    • Index based view iterators (internal change)
    • Removed basic_view::operator[] for size types to avoid forcing non-integral entity types
  • graph:

    • Added iterator_concept to adjacency matrix iterators
  • meta:

    • Introduce meta_any_policy
    • Add meta_any::policy() member function
    • Meta container support to ::reserve
    • Make basic meta container traits publicly available (with revised aPI)
    • Add meta_type::can_cast member function
    • Add meta_type::can_convert member function
    • Meta container ::rebind accepts a value rather than an any object
    • Meta container iterator support to ::rebind
    • meta_sequence_container::resize support to non default constructible types
    • basic_meta_sequence_container_traits::fixed_size available to final users
    • Correctly initialize all members of meta container wrappers
    • Added iterator_concept to meta iterators
    • Improved meta containers performance
  • process:

    • basic_scheduler<...> was fully redesigned for the better
    • In-line .then support for basic_scheduler<...>
    • Allocator-aware basic_scheduler<...>
  • resource:

    • Added iterator_concept to cache iterators
Build system
  • Make the debug build suitable for SizeBench
  • Enable more warnings on the CI
  • bzlmod support with tests
Any other business
  • Removed all previously deprecated methods
  • Updated IWYU entt.imp file
  • Make the library more C++20-friendly
  • Added a test/example on how to use reserved bits on entity identifiers
  • Clang tidy config (and cleanup, still a work-in-progress though)
Natvis support

All natvis files have been updated where necessary.

Breaking changes
  • core:

    • nth_argument accepts a type rather than a function, use decltype as needed
  • entity:

    • basic_sparse_set<...>::swap_at is now private
    • basic_storage<...>::in_use is deprecated, use basic_sparse_set<...>::free_list instead
    • Entity storage no longer has a type_traits type member
    • Sorting functions of basic_sparse_set<...> don't invoke compact automatically anymore
    • Registry based to_entity function is deprecated, use the storage based version instead
    • basic_sparse_set<...>::sort_as is deprecated, use iterator-based overload of the same function instead
    • basic_group<...>::sort_as is deprecated, use iterator-based overload of the same function instead
    • Storage entity ::pack function is deprecated, use iterator-based sort_as instead
    • basic_view::operator[] no longer available for size types to avoid forcing non-integral entity types
    • basic_sparse_set<...>::at is deprecated as ambiguous, use operator[] instead
  • meta:

    • Meta container ::rebind accepts a value rather than an any object
    • Meta container iterators no longer accept underlying iterators on construction, use rebind instead
    • basic_meta_sequence_container_traits::fixed_size required for explicit specializations
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.

v3.12.2: EnTT v3.12.2

Compare Source

Changelog

  • Avoid warnings due to deprecated functions in the snapshot classes
  • Make basic_registry<...>::valid fully backward compatible
Any other business

The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.

v3.12.1: EnTT v3.12.1

Compare Source

Changelog

  • Reintroduce support to storage listeners for snapshot classes
  • Add some tests to avoid future regressions on the snapshot classes
  • Update the single include file to the last version as it ought to be
Any other business

The documentation is up-to-date and the library is battle-tested with 100% coverage as usual.

v3.12.0: EnTT v3.12.0

Compare Source

Changelog

  • config:

    • ENTT_FAIL(msg) as an alias of ENTT_ASSERT(false, msg)
  • core:

    • is_equality_comparable also detects C-style arrays
    • Added value_list_index[_v], value_list_unique[_t], value_list_contains[_v] and value_list_diff[_t]
    • std::tuple traits specialization for entt::type_list and entt::value_list
  • entity:

    • All group types are copyable and movable
    • View filter storage classes are now available (see ::storage)
    • Group filter storage classes are now available (see ::storage)
    • Propagate the allocator to the registry context
    • sigh_helper utility to simplify connecting multiple listeners to a registry
    • Public basic_sparse_set<...>::traits_type type member
    • Public basic_storage<...>::traits_type type member
    • Public basic_registry<...>::traits_type type member
    • component_traits treat void properly as any other component type
    • Split entt_traits and basic_entt_traits to simplify specializing the former
    • Make entity_mask and version_mask available through entt_traits
    • Add entt_traits::base_type for the final user (not used internally)
    • Make basic_registry work properly with void component type
    • Handles discard their entities on destruction
    • Improved removing/erasing elements when a sigh_mixin is attached to a storage
    • Added internal, opaque data function to sparse set iterators
    • Additional internal virtual clear_all function available in the basic_sparse_set<...> class
    • Improved performance of sparse set remove, erase and clear functions
    • Improved performance of registry remove, erase, clear and destroy functions
    • deletion_policy is now publicly available via entity/fwd.hpp
    • Added basic_sparse_set<...>::contiguous function
    • extended_storage_iterator::base makes the underlying iterator available
    • extended_view_iterator::base makes the underlying iterator available
    • extended_group_iterator::base makes the underlying iterator available
    • Added a specialization of basic_storage when the value type is also the entity type (entity storage)
    • Entities have their own storage in a registry and it's accessible as storage<entity_type>()
    • Sigh mixin also supports entity storage types (to send signals on entity creation/destruction/update)
    • Exclude-only like views are also supported because of the entity storage
    • added basic_entt_traits::next returns the next valid version of an identifier
    • Refined transparent aggregate support for storage types
    • Deprecated the following functions in the registry class:
      • basic_registry<...>::size() (use .storage<E>().size() instead)
      • basic_registry<...>::alive() (use .storage<E>().in_use() instead)
      • basic_registry<...>::reserve(cap) (use .storage<E>().reserve(cap) instead)
      • basic_registry<...>::capacity() (use .storage<E>().capacity() instead)
      • basic_registry<...>::empty() (use .storage<E>().in_use() instead)
      • basic_registry<...>::data() (use .storage<E>().data() instead)
      • basic_registry<...>::released() (use .storage<E>().in_use() and .storage<E>().size() instead)
      • basic_registry<...>::release(args...) (use .storage<E>().erase(args) and .storage<E>().bump(entt) instead)
      • basic_registry<...>::assign(args...) (use .storage<Entity>().push(first, last) and .storage<Entity>().in_use(len) instead)
      • basic_registry<...>::each(args...) (use .storage<Entity>().each() instead)
    • basic_sparse_set<...>::bump returns the version in use
    • basic_storage<...>::insert returns an iterator to the range of inserted elements
    • Storage based groups fully support multiple storage of the same type now
    • Huge internal rework to reduce the dependencies between the registry and the group classes/handlers
    • All group types have a .handle() function to return a reference to the leading storage
    • basic_registry<...>::group is no longer [[nodiscard]]
    • Configurable mask type for basic_observer
    • Allocator support for basic_observer
    • get_t, owned_t and exclude_t are (constexpr constructible) types now rather than aliases of type_list
    • basic_storage uses allocator_traits::destroy now rather than std::destroy_at (to allow specializations if needed)
    • Make basic_registry<...>::storage_for_type<...> available to the final user
    • basic_view<..>::operator bool returns true only for fully initialized views
    • Uninitialized views behave correctly in all circumstances, returning the expected result on each call
    • Views support swapping their storage or setting them lazily
    • View packs fully support empty views finally
    • basic_registry<...> doesn't instantiate temporary static storage on const function anymore
    • on_construct/on_update/on_destroy of basic_registry<...> also support named pools
    • Added a reverse each function (reach, worst name ever) to all storage classes
    • basic_registry<...>::erase_if to conditionally erase elements from their storage
    • Deprecated the following functions in the snapshot classes:
      • entities() (use get<Entity>() instead)
      • component<...>(...) (use get<T>(...) instead)
      • shrink, no longer required
    • General purpose ::get<T>(...) function for snapshot classes that works with storage types
    • Runtime pools support for snapshot classes (see ::get<T>(...) for further details)
    • Drop multi-type archive function requirement for snapshot classes
  • graph:

    • Allocator type propagates to the graph type returned by flow::graph() calls
  • locator:

    • Support for opaque structures
  • meta:

    • It's now possible to update the value of a meta property at any time (non-const meta_any ref)
    • Full support to meta member functions for primitive types
    • operator==/!= for meta_handle
    • operator==/!= for meta_data
    • operator==/!= for meta_prop
    • operator==/!= for meta_func
  • process:

    • Introduced basic_scheduler with default delta type for common cases
    • Turn scheduler into an alias for basic_scheduler<std::uint32_t>
  • signal:

    • Added delegate::target to get a pointer to the stored callable function
    • Refined transparent aggregate support for the dispatcher class
    • delegate also supports functions that skip first elements (on second attempt only)
    • Allow disconnecting listeners during iterations over the sigh class
Build system
  • Bump IWYU version to 0.19
  • Bump CMake version to 3.15.7
  • Enable documentation diagnostic for Clang
  • Increase CI warning level to /W1 on Windows
  • Add GCC11 to the list of compilers directly checked by the CI
Any other business
  • Suppress a few warnings due to unused variables in corner cases
  • More [[nodiscard]] where it makes sense (i.e. any_cast or meta_type::from_void)
  • Better allocator support with additional runtime checks for corner cases
Natvis support

All natvis files have been updated where necessary.

Breaking changes
  • entity:

    • ignore_as_empty_v doesn't exist anymore, use component_traits<...>::page_size instead
    • entt_traits::reserved is no longer available, combine entity_mask and version_mask instead
    • basic_sparse_set<...>::swap_at is now a protected function, override swap_or_move as needed instead
    • basic_sparse_set<...>::move_element doesn't exist anymore, use swap_or_move instead (with checks on to if needed)
    • sigh_storage_mixin was renamed into sigh_mixin
    • basic_sparse_set<...>::emplace was renamed to push
    • basic_sparse_set<...>::insert was renamed to push
    • basic_sparse_set<...>::get was renamed to value
    • basic_sparse_set<...>::sort was renamed to sort_as
    • basic_group<...>::sort (no callback overload) was renamed to sort_as
    • basic_registry<...>::base_type was renamed to common_type
    • basic_group<...>::base_type was renamed to common_type
    • runtime_view<...>::base_type was renamed to common_type
    • basic_view<...>::base_type was renamed to common_type
    • Nested groups are no longer supported (the pain is not worth the gain)
    • basic_view<...>::storage<...>() returns a (possibly null) pointer rather than a reference
    • basic_view<...>::handle() returns a (possibly null) pointer rather than a reference
    • basic_group<...>::storage<...>() returns a (possibly null) pointer rather than a reference
    • basic_view<...>::refresh() is a self-contained, non-const function that changes the view in-place
    • basic_view<...>::use<T>() is a self-contained, non-const function that changes the view in-place
  • process:

    • scheduler no longer requires a template parameter, use basic_scheduler if std::uint32_t isn't a good enough delta type
  • signal:

    • disconnect by reference is no longer available on the sink class, use the overload that accepts a pointer instead
    • sink<...>::before is no longer supported, no alternative provided
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.


Configuration

📅 Schedule: Branch creation - "after 1am and before 6am" in timezone America/Vancouver, Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.12.0 chore(deps): update dependency com_github_skypjack_entt to v3.12.1 Jun 20, 2023
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from a0c972c to 3623fed Compare June 20, 2023 12:23
@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.12.1 chore(deps): update dependency com_github_skypjack_entt to v3.12.2 Jun 23, 2023
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from 3623fed to be0aeef Compare June 23, 2023 11:10
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from be0aeef to 46e13e9 Compare August 1, 2023 18:51
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch 3 times, most recently from 94cbb4f to f9a2861 Compare August 12, 2023 02:04
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from f9a2861 to ea094e4 Compare January 16, 2024 16:30
@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.12.2 chore(deps): update dependency com_github_skypjack_entt to v3.13.0 Jan 16, 2024
Copy link

cocogitto-bot bot commented Jan 16, 2024

✔️ ea094e4 - Conventional commits check succeeded.

@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from ea094e4 to 966f6ad Compare February 2, 2024 11:17
@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.13.0 chore(deps): update dependency com_github_skypjack_entt to v3.13.1 Feb 2, 2024
Copy link

cocogitto-bot bot commented Feb 2, 2024

✔️ 966f6ad - Conventional commits check succeeded.

@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from 966f6ad to 25e15db Compare April 10, 2024 08:50
@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.13.1 chore(deps): update dependency com_github_skypjack_entt to v3.13.2 Apr 10, 2024
@renovate renovate bot force-pushed the renovate/com_github_skypjack_entt-3.x branch from 25e15db to 76c2a75 Compare October 23, 2024 13:52
@renovate renovate bot changed the title chore(deps): update dependency com_github_skypjack_entt to v3.13.2 chore(deps): update dependency com_github_skypjack_entt to v3.14.0 Oct 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants