|
| basic_reactive_mixin () |
| Default constructor.
|
|
| basic_reactive_mixin (const allocator_type &allocator) |
| Constructs an empty storage with a given allocator.
|
|
| basic_reactive_mixin (const basic_reactive_mixin &)=delete |
| Default copy constructor, deleted on purpose.
|
|
| basic_reactive_mixin (basic_reactive_mixin &&other) noexcept |
| Move constructor.
|
|
| basic_reactive_mixin (basic_reactive_mixin &&other, const allocator_type &allocator) |
| Allocator-extended move constructor.
|
|
| ~basic_reactive_mixin () override=default |
| Default destructor.
|
|
basic_reactive_mixin & | operator= (const basic_reactive_mixin &)=delete |
| Default copy assignment operator, deleted on purpose.
|
|
basic_reactive_mixin & | operator= (basic_reactive_mixin &&other) noexcept |
| Move assignment operator.
|
|
void | swap (basic_reactive_mixin &other) noexcept |
| Exchanges the contents with those of a given storage.
|
|
template<typename Clazz , auto Candidate = &basic_reactive_mixin::emplace_element> |
basic_reactive_mixin & | on_construct (const id_type id=type_hash< Clazz >::value()) |
| Makes storage react to creation of objects of the given type.
|
|
template<typename Clazz , auto Candidate = &basic_reactive_mixin::emplace_element> |
basic_reactive_mixin & | on_update (const id_type id=type_hash< Clazz >::value()) |
| Makes storage react to update of objects of the given type.
|
|
template<typename Clazz , auto Candidate = &basic_reactive_mixin::emplace_element> |
basic_reactive_mixin & | on_destroy (const id_type id=type_hash< Clazz >::value()) |
| Makes storage react to destruction of objects of the given type.
|
|
| operator bool () const noexcept |
| Checks if a mixin refers to a valid registry.
|
|
const registry_type & | registry () const noexcept |
| Returns a pointer to the underlying registry, if any.
|
|
registry_type & | registry () noexcept |
| Returns a pointer to the underlying registry, if any.
|
|
template<typename... Get, typename... Exclude> |
basic_view< get_t< const basic_reactive_mixin, typename basic_registry_type::template storage_for_type< const Get >... >, exclude_t< typename basic_registry_type::template storage_for_type< const Exclude >... > > | view (exclude_t< Exclude... >=exclude_t{}) const |
| Returns a view that is filtered by the underlying storage.
|
|
template<typename... Get, typename... Exclude> |
basic_view< get_t< const basic_reactive_mixin, typename basic_registry_type::template storage_for_type< Get >... >, exclude_t< typename basic_registry_type::template storage_for_type< Exclude >... > > | view (exclude_t< Exclude... >=exclude_t{}) |
| Returns a view that is filtered by the underlying storage.
|
|
Mixin type used to add reactive support to storage types.
- Template Parameters
-
Type | Underlying storage type. |
Registry | Basic registry type. |
Definition at line 389 of file mixin.hpp.