EnTT 3.14.0
|
Utility class for continuous loading. More...
#include <snapshot.hpp>
Public Types | |
using | registry_type = Registry |
using | entity_type = typename registry_type::entity_type |
Underlying entity identifier. | |
Public Member Functions | |
basic_continuous_loader (registry_type &source) noexcept | |
Constructs an instance that is bound to a given registry. | |
basic_continuous_loader (const basic_continuous_loader &)=delete | |
Default copy constructor, deleted on purpose. | |
basic_continuous_loader (basic_continuous_loader &&) noexcept=default | |
Default move constructor. | |
~basic_continuous_loader ()=default | |
Default destructor. | |
basic_continuous_loader & | operator= (const basic_continuous_loader &)=delete |
Default copy assignment operator, deleted on purpose. | |
basic_continuous_loader & | operator= (basic_continuous_loader &&) noexcept=default |
Default move assignment operator. | |
template<typename Type , typename Archive > | |
basic_continuous_loader & | get (Archive &archive, const id_type id=type_hash< Type >::value()) |
Restores all elements of a type with associated identifiers. | |
basic_continuous_loader & | orphans () |
Destroys those entities that have no elements. | |
bool | contains (entity_type entt) const noexcept |
Tests if a loader knows about a given entity. | |
entity_type | map (entity_type entt) const noexcept |
Returns the identifier to which an entity refers. | |
Utility class for continuous loading.
A continuous loader is designed to load data from a source registry to a (possibly) non-empty destination. The loader can accommodate in a registry more than one snapshot in a sort of continuous loading that updates the destination one step at a time.
Identifiers that entities originally had are not transferred to the target. Instead, the loader maps remote identifiers to local ones while restoring a snapshot.
An example of use is the implementation of a client-server application with the requirement of transferring somehow parts of the representation side to side.
Registry | Basic registry type. |
Definition at line 303 of file snapshot.hpp.
using entt::basic_continuous_loader< Registry >::entity_type = typename registry_type::entity_type |
Underlying entity identifier.
Definition at line 366 of file snapshot.hpp.
using entt::basic_continuous_loader< Registry >::registry_type = Registry |
Basic registry type.
Definition at line 364 of file snapshot.hpp.
|
inlinenoexcept |
Constructs an instance that is bound to a given registry.
source | A valid reference to a registry. |
Definition at line 372 of file snapshot.hpp.
|
inlinenoexcept |
Tests if a loader knows about a given entity.
entt | A valid identifier. |
entity
is managed by the loader, false otherwise. Definition at line 484 of file snapshot.hpp.
|
inline |
Restores all elements of a type with associated identifiers.
It creates local counterparts for remote elements as needed.
Members are either data members of type entity_type or containers of entities. In both cases, a loader visits them and replaces entities with their local counterpart.
Type | Type of elements to restore. |
Archive | Type of input archive. |
archive | A valid reference to an input archive. |
id | Optional name used to map the storage within the registry. |
Definition at line 412 of file snapshot.hpp.
|
inlinenoexcept |
Returns the identifier to which an entity refers.
entt | A valid identifier. |
Definition at line 494 of file snapshot.hpp.
|
defaultnoexcept |
Default move assignment operator.
|
delete |
Default copy assignment operator, deleted on purpose.
|
inline |
Destroys those entities that have no elements.
In case all the entities were serialized but only part of the elements was saved, it could happen that some of the entities have no elements once restored.
This function helps to identify and destroy those entities.
Definition at line 474 of file snapshot.hpp.