EnTT 3.13.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 (basic_continuous_loader &&)=default | |
Default move constructor. | |
basic_continuous_loader & | operator= (basic_continuous_loader &&)=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 components. | |
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 262 of file snapshot.hpp.
using entt::basic_continuous_loader< Registry >::entity_type = typename registry_type::entity_type |
Underlying entity identifier.
Definition at line 325 of file snapshot.hpp.
using entt::basic_continuous_loader< Registry >::registry_type = Registry |
Basic registry type.
Definition at line 323 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 331 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 428 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 356 of file snapshot.hpp.
|
inlinenoexcept |
Returns the identifier to which an entity refers.
entt | A valid identifier. |
Definition at line 438 of file snapshot.hpp.
|
default |
Default move assignment operator.
|
inline |
Destroys those entities that have no components.
In case all the entities were serialized but only part of the components was saved, it could happen that some of the entities have no components once restored.
This function helps to identify and destroy those entities.
Definition at line 418 of file snapshot.hpp.