EntityBase< _EntitySnapshotT, _Derived > Class Template Reference

An entity over a period of time. More...

#include <RobotAPI/libraries/armem/core/base/EntityBase.h>

+ Inheritance diagram for EntityBase< _EntitySnapshotT, _Derived >:

Classes

struct  UpdateResult
 

Public Types

using ChildT = EntitySnapshotT
 
using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT
 
using EntitySnapshotT = _EntitySnapshotT
 
- Public Types inherited from MemoryContainerBase< std::map< Time, _EntitySnapshotT >, _Derived >
using ContainerT
 
using DerivedT
 

Public Member Functions

EntitySnapshotT & addSnapshot (const EntitySnapshotT &snapshot)
 Copy and insert a snapshot.
 
EntitySnapshotT & addSnapshot (const Time &timestamp)
 Add a snapshot at the given time.
 
template<class... Args>
EntitySnapshotT & addSnapshot (const Time &timestamp, Args... args)
 Insert a snapshot in-place.
 
EntitySnapshotT & addSnapshot (EntitySnapshotT &&snapshot)
 Move and insert a snapshot.
 
template<class OtherDerivedT>
void append (const OtherDerivedT &other)
 
 EntityBase ()
 
 EntityBase (const EntityBase &other)=default
 
 EntityBase (const MemoryID &id)
 
 EntityBase (const std::string &name, const MemoryID &parentID={})
 
 EntityBase (EntityBase &&other)=default
 
bool equalsDeep (const DerivedT &other) const
 
EntitySnapshotT * findFirstSnapshot ()
 Return the snapshot with the least recent timestamp.
 
const EntitySnapshotT * findFirstSnapshot () const
 
const EntitySnapshotT * findFirstSnapshotAfter (const Time &time) const
 Return first snapshot after time.
 
const EntitySnapshotT * findFirstSnapshotAfterOrAt (const Time &time) const
 Return first snapshot after or at time.
 
auto * findLatestInstance (int instanceIndex=0)
 
const auto * findLatestInstance (int instanceIndex=0) const
 
EntitySnapshotT * findLatestSnapshot ()
 Return the snapshot with the most recent timestamp.
 
const EntitySnapshotT * findLatestSnapshot () const
 
const EntitySnapshotT * findLatestSnapshotBefore (const Time &time) const
 Return the lastest snapshot before time.
 
const EntitySnapshotT * findLatestSnapshotBeforeOrAt (const Time &time) const
 Return the latest snapshot before or at time.
 
EntitySnapshotT * findSnapshot (const MemoryID &snapshotID)
 
const EntitySnapshotT * findSnapshot (const MemoryID &snapshotID) const
 
EntitySnapshotT * findSnapshot (const Time &timestamp)
 
const EntitySnapshotT * findSnapshot (const Time &timestamp) const
 
template<class InstanceFunctionT>
bool forEachInstanceIn (const MemoryID &id, InstanceFunctionT &&func)
 
template<class InstanceFunctionT>
bool forEachInstanceIn (const MemoryID &id, InstanceFunctionT &&func) const
 
template<class SnapshotFunctionT>
bool forEachSnapshot (SnapshotFunctionT &&func)
 
template<class SnapshotFunctionT>
bool forEachSnapshot (SnapshotFunctionT &&func) const
 
template<class FunctionT>
void forEachSnapshotBefore (const Time &time, FunctionT &&func) const
 Return all snapshots before (excluding) time.
 
template<class FunctionT>
void forEachSnapshotBeforeOrAt (const Time &time, FunctionT &&func) const
 Return all snapshots before or at time.
 
template<class FunctionT>
void forEachSnapshotBeforeReverse (const Time &time, FunctionT &&func) const
 Iterate over all snapshots before (excluding) time in reverse order (newest first).
 
template<class SnapshotFunctionT>
bool forEachSnapshotIn (const MemoryID &id, SnapshotFunctionT &&func)
 
template<class SnapshotFunctionT>
bool forEachSnapshotIn (const MemoryID &id, SnapshotFunctionT &&func) const
 
template<class FunctionT>
void forEachSnapshotInIndexRange (long first, long last, FunctionT &&func) const
 Return all snapshots from first to last index.
 
template<class FunctionT>
void forEachSnapshotInTimeRange (const Time &min, const Time &max, FunctionT &&func) const
 Return all snapshots between, including, min and max.
 
EntitySnapshotT & getFirstSnapshot ()
 Return the snapshot with the least recent timestamp.
 
const EntitySnapshotT & getFirstSnapshot () const
 
Time getFirstTimestamp () const
 Get the oldest timestamp.
 
std::string getKeyString () const
 
Time getLatestTimestamp () const
 Get the latest timestamp.
 
EntitySnapshotT & getSnapshot (const MemoryID &snapshotID)
 
const EntitySnapshotT & getSnapshot (const MemoryID &snapshotID) const
 
EntitySnapshotT & getSnapshot (const Time &time)
 Get a snapshot.
 
const EntitySnapshotT & getSnapshot (const Time &time) const
 
std::vector< Time > getTimestamps () const
 Get all timestamps in the history.
 
bool hasSnapshot (const MemoryID &snapshotID) const
 Indicate whether a snapshot with the given ID exists.
 
bool hasSnapshot (const Time &time) const
 Indicate whether a snapshot at the given time exists.
 
bool hasSnapshots () const
 Indicate whether the entity has any snapshots.
 
std::string & name ()
 
const std::string & name () const
 
EntityBase & operator= (const EntityBase &other)=default
 
EntityBase & operator= (EntityBase &&other)=default
 
UpdateResult update (const EntityUpdate &update)
 Add the given update to this entity's history.
 
- Public Member Functions inherited from MemoryContainerBase< std::map< Time, _EntitySnapshotT >, _Derived >
ContainerT::iterator begin ()
 
ContainerT::iterator begin ()
 
ContainerT::const_iterator begin () const
 
ContainerT::const_iterator begin () const
 
void clear ()
 
void clear ()
 
bool empty () const
 
bool empty () const
 
ContainerT::iterator end ()
 
ContainerT::iterator end ()
 
ContainerT::const_iterator end () const
 
ContainerT::const_iterator end () const
 
bool forEachChild (ChildFunctionT &&func)
 
bool forEachChild (ChildFunctionT &&func)
 
bool forEachChild (ChildFunctionT &&func) const
 
bool forEachChild (ChildFunctionT &&func) const
 
 MemoryContainerBase ()
 
 MemoryContainerBase ()
 
 MemoryContainerBase (const MemoryContainerBase &other)=default
 
 MemoryContainerBase (const MemoryContainerBase &other)=default
 
 MemoryContainerBase (const MemoryID &id)
 
 MemoryContainerBase (const MemoryID &id)
 
 MemoryContainerBase (MemoryContainerBase &&other)=default
 
 MemoryContainerBase (MemoryContainerBase &&other)=default
 
MemoryContainerBase & operator= (const MemoryContainerBase &other)=default
 
MemoryContainerBase & operator= (const MemoryContainerBase &other)=default
 
MemoryContainerBase & operator= (MemoryContainerBase &&other)=default
 
MemoryContainerBase & operator= (MemoryContainerBase &&other)=default
 
std::size_t size () const
 
std::size_t size () const
 
- Public Member Functions inherited from MemoryItem
MemoryID & id ()
 
const MemoryID & id () const
 
 MemoryItem ()
 
 MemoryItem (const MemoryID &id)
 
 MemoryItem (const MemoryItem &other)=default
 
 MemoryItem (MemoryItem &&other)=default
 
MemoryItem & operator= (const MemoryItem &other)=default
 
MemoryItem & operator= (MemoryItem &&other)=default
 
- Public Member Functions inherited from ForEachEntityInstanceMixin< _Derived >
bool forEachInstance (InstanceFunctionT &&func)
 
bool forEachInstance (InstanceFunctionT &&func) const
 
bool forEachInstanceAs (AronDtoFunctionT &&func) const
 Call func on the data of each instance converted to Aron DTO class.
 
bool forEachInstanceWithDataAs (EntityInstanceBaseAronDtoFunctionT &&func) const
 Call func on each instance with its data converted to Aron DTO class.
 
- Public Member Functions inherited from GetFindInstanceMixin< _Derived >
auto * findInstance (const MemoryID &instanceID)
 Find an entity instance.
 
const auto * findInstance (const MemoryID &instanceID) const
 
auto & getInstance (const MemoryID &instanceID)
 Retrieve an entity instance.
 
const auto & getInstance (const MemoryID &instanceID) const
 
bool hasInstance (const MemoryID &instanceID) const
 Indicate whether this container has an instance with the given ID.
 
bool hasInstances () const
 Indicate whether this container contains at least one entity instance.
 
- Public Member Functions inherited from GetLatestInstanceMixin< _Derived >
auto & getLatestInstance (int instanceIndex=0)
 Retrieve the latest entity instance.
 
const auto & getLatestInstance (int instanceIndex=0) const
 
- Public Member Functions inherited from GetLatestSnapshotMixin< _Derived >
auto & getLatestSnapshot (int snapshotIndex=0)
 Retrieve the latest entity snapshot.
 
const auto & getLatestSnapshot (int snapshotIndex=0) const
 

Static Public Member Functions

static std::string getLevelName ()
 

Additional Inherited Members

- Protected Member Functions inherited from MemoryContainerBase< std::map< Time, _EntitySnapshotT >, _Derived >
ChildT & _addChild (const KeyT &key, ChildArgs... childArgs)
 
ChildT & _addChild (const KeyT &key, ChildArgs... childArgs)
 
void _checkContainerName (const std::string &gottenName, const std::string &actualName, bool emptyOk=true) const
 
void _checkContainerName (const std::string &gottenName, const std::string &actualName, bool emptyOk=true) const
 
DerivedT & _derived ()
 
DerivedT & _derived ()
 
const DerivedT & _derived () const
 
const DerivedT & _derived () const
 
ContainerT & container ()
 
ContainerT & container ()
 
const ContainerT & container () const
 
const ContainerT & container () const
 
- Protected Member Functions inherited from MemoryItem
 ~MemoryItem ()
 
- Protected Attributes inherited from MemoryContainerBase< std::map< Time, _EntitySnapshotT >, _Derived >
ContainerT _container
 
ContainerT _container
 
- Protected Attributes inherited from MemoryItem
MemoryID _id
 

Detailed Description

template<class _EntitySnapshotT, class _Derived>
class armarx::armem::base::EntityBase< _EntitySnapshotT, _Derived >

An entity over a period of time.

An entity should be a physical thing or abstract concept existing (and potentially evolving) over time.

Examples are:

  • objects (the green box)
  • agents (robot, human)
  • locations (frige, sink)
  • grasp affordances (general, or for a specific object)
  • images
  • point clouds
  • other sensory values

At each point in time (EntitySnapshot), the entity can have a (potentially variable) number of instances (EntityInstance), each containing a single AronData object of a specific AronType.

Definition at line 43 of file EntityBase.h.

Member Typedef Documentation

◆ ChildT

template<class _EntitySnapshotT, class _Derived>
using ChildT = EntitySnapshotT

Definition at line 59 of file EntityBase.h.

◆ EntityInstanceT

template<class _EntitySnapshotT, class _Derived>
using EntityInstanceT = typename EntitySnapshotT::EntityInstanceT

Definition at line 57 of file EntityBase.h.

◆ EntitySnapshotT

template<class _EntitySnapshotT, class _Derived>
using EntitySnapshotT = _EntitySnapshotT

Definition at line 56 of file EntityBase.h.

Constructor & Destructor Documentation

◆ EntityBase() [1/5]

template<class _EntitySnapshotT, class _Derived>
EntityBase ( )
inline

Definition at line 72 of file EntityBase.h.

+ Here is the caller graph for this function:

◆ EntityBase() [2/5]

template<class _EntitySnapshotT, class _Derived>
EntityBase ( const std::string & name,
const MemoryID & parentID = {} )
inlineexplicit

Definition at line 76 of file EntityBase.h.

+ Here is the call graph for this function:

◆ EntityBase() [3/5]

template<class _EntitySnapshotT, class _Derived>
EntityBase ( const MemoryID & id)
inlineexplicit

Definition at line 81 of file EntityBase.h.

+ Here is the call graph for this function:

◆ EntityBase() [4/5]

template<class _EntitySnapshotT, class _Derived>
EntityBase ( const EntityBase< _EntitySnapshotT, _Derived > & other)
default
+ Here is the call graph for this function:

◆ EntityBase() [5/5]

template<class _EntitySnapshotT, class _Derived>
EntityBase ( EntityBase< _EntitySnapshotT, _Derived > && other)
default
+ Here is the call graph for this function:

Member Function Documentation

◆ addSnapshot() [1/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & addSnapshot ( const EntitySnapshotT & snapshot)
inline

Copy and insert a snapshot.

Definition at line 680 of file EntityBase.h.

+ Here is the call graph for this function:

◆ addSnapshot() [2/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & addSnapshot ( const Time & timestamp)
inline

Add a snapshot at the given time.

Definition at line 673 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addSnapshot() [3/4]

template<class _EntitySnapshotT, class _Derived>
template<class... Args>
EntitySnapshotT & addSnapshot ( const Time & timestamp,
Args... args )
inline

Insert a snapshot in-place.

Definition at line 696 of file EntityBase.h.

+ Here is the call graph for this function:

◆ addSnapshot() [4/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & addSnapshot ( EntitySnapshotT && snapshot)
inline

Move and insert a snapshot.

Definition at line 687 of file EntityBase.h.

+ Here is the call graph for this function:

◆ append()

template<class _EntitySnapshotT, class _Derived>
template<class OtherDerivedT>
void append ( const OtherDerivedT & other)
inline

Definition at line 652 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ equalsDeep()

template<class _EntitySnapshotT, class _Derived>
bool equalsDeep ( const DerivedT & other) const
inline

Definition at line 706 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findFirstSnapshot() [1/2]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT * findFirstSnapshot ( )
inline

Return the snapshot with the least recent timestamp.

Returns
The first snapshot or nullptr if the entity is empty.

Definition at line 245 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findFirstSnapshot() [2/2]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findFirstSnapshot ( ) const
inline

Definition at line 251 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findFirstSnapshotAfter()

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findFirstSnapshotAfter ( const Time & time) const
inline

Return first snapshot after time.

Parameters
timeThe time.
Returns
The first snapshot > time or nullptr if none was found.

Definition at line 350 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findFirstSnapshotAfterOrAt()

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findFirstSnapshotAfterOrAt ( const Time & time) const
inline

Return first snapshot after or at time.

Parameters
timeThe time.
Returns
The first snapshot >= time or nullptr if none was found.

Definition at line 331 of file EntityBase.h.

+ Here is the caller graph for this function:

◆ findLatestInstance() [1/2]

template<class _EntitySnapshotT, class _Derived>
auto * findLatestInstance ( int instanceIndex = 0)
inline

Definition at line 356 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findLatestInstance() [2/2]

template<class _EntitySnapshotT, class _Derived>
const auto * findLatestInstance ( int instanceIndex = 0) const
inline

Definition at line 363 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findLatestSnapshot() [1/2]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT * findLatestSnapshot ( )
inline

Return the snapshot with the most recent timestamp.

Returns
The latest snapshot or nullptr if the entity is empty.

Definition at line 229 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findLatestSnapshot() [2/2]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findLatestSnapshot ( ) const
inline

Definition at line 235 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findLatestSnapshotBefore()

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findLatestSnapshotBefore ( const Time & time) const
inline

Return the lastest snapshot before time.

Parameters
timeThe time.
Returns
The latest snapshot < time or nullptr if none was found.

Definition at line 287 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findLatestSnapshotBeforeOrAt()

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findLatestSnapshotBeforeOrAt ( const Time & time) const
inline

Return the latest snapshot before or at time.

Parameters
timeThe time.
Returns
The latest snapshot <= time or nullptr if none was found.

Definition at line 320 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findSnapshot() [1/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT * findSnapshot ( const MemoryID & snapshotID)
inline

Definition at line 171 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findSnapshot() [2/4]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findSnapshot ( const MemoryID & snapshotID) const
inline

Definition at line 178 of file EntityBase.h.

+ Here is the call graph for this function:

◆ findSnapshot() [3/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT * findSnapshot ( const Time & timestamp)
inline

Definition at line 130 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ findSnapshot() [4/4]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT * findSnapshot ( const Time & timestamp) const
inline

Definition at line 136 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachInstanceIn() [1/2]

template<class _EntitySnapshotT, class _Derived>
template<class InstanceFunctionT>
bool forEachInstanceIn ( const MemoryID & id,
InstanceFunctionT && func )
inline
Parameters
funcFunction like void process(EntityInstanceT& instance)>

Definition at line 580 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachInstanceIn() [2/2]

template<class _EntitySnapshotT, class _Derived>
template<class InstanceFunctionT>
bool forEachInstanceIn ( const MemoryID & id,
InstanceFunctionT && func ) const
inline
Parameters
funcFunction like void process(EntityInstanceT& instance)>

Definition at line 595 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshot() [1/2]

template<class _EntitySnapshotT, class _Derived>
template<class SnapshotFunctionT>
bool forEachSnapshot ( SnapshotFunctionT && func)
inline
Parameters
funcFunction like: bool process(EntitySnapshotT& snapshot)

Definition at line 391 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ forEachSnapshot() [2/2]

template<class _EntitySnapshotT, class _Derived>
template<class SnapshotFunctionT>
bool forEachSnapshot ( SnapshotFunctionT && func) const
inline
Parameters
funcFunction like void process(const EntitySnapshotT& snapshot)

Definition at line 401 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotBefore()

template<class _EntitySnapshotT, class _Derived>
template<class FunctionT>
void forEachSnapshotBefore ( const Time & time,
FunctionT && func ) const
inline

Return all snapshots before (excluding) time.

Parameters
timeThe time.
Returns
The latest snapshots.

Definition at line 443 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotBeforeOrAt()

template<class _EntitySnapshotT, class _Derived>
template<class FunctionT>
void forEachSnapshotBeforeOrAt ( const Time & time,
FunctionT && func ) const
inline

Return all snapshots before or at time.

Parameters
timeThe time.
Returns
The latest snapshots.

Definition at line 506 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotBeforeReverse()

template<class _EntitySnapshotT, class _Derived>
template<class FunctionT>
void forEachSnapshotBeforeReverse ( const Time & time,
FunctionT && func ) const
inline

Iterate over all snapshots before (excluding) time in reverse order (newest first).

Parameters
timeThe time.
funcFunction taking (const EntitySnapshotT&) and returning bool (false to stop).

Definition at line 465 of file EntityBase.h.

◆ forEachSnapshotIn() [1/2]

template<class _EntitySnapshotT, class _Derived>
template<class SnapshotFunctionT>
bool forEachSnapshotIn ( const MemoryID & id,
SnapshotFunctionT && func )
inline
Parameters
funcFunction like: bool process(EntitySnapshotT& snapshot)

Definition at line 411 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotIn() [2/2]

template<class _EntitySnapshotT, class _Derived>
template<class SnapshotFunctionT>
bool forEachSnapshotIn ( const MemoryID & id,
SnapshotFunctionT && func ) const
inline
Parameters
funcFunction like void process(const EntitySnapshotT& snapshot)

Definition at line 421 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotInIndexRange()

template<class _EntitySnapshotT, class _Derived>
template<class FunctionT>
void forEachSnapshotInIndexRange ( long first,
long last,
FunctionT && func ) const
inline

Return all snapshots from first to last index.

Negative index are counted from the end, e.g. last == -1 results in getting all queries until the end.

Parameters
firstThe first index to include.
firstThe last index to include.
Returns
The snapshots in [first, last].

Definition at line 549 of file EntityBase.h.

+ Here is the call graph for this function:

◆ forEachSnapshotInTimeRange()

template<class _EntitySnapshotT, class _Derived>
template<class FunctionT>
void forEachSnapshotInTimeRange ( const Time & min,
const Time & max,
FunctionT && func ) const
inline

Return all snapshots between, including, min and max.

Parameters
minThe lowest time to include.
minThe highest time to include.
Returns
The snapshots in [min, max].

Definition at line 519 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFirstSnapshot() [1/2]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & getFirstSnapshot ( )
inline

Return the snapshot with the least recent timestamp.

Returns
The first snapshot.
Exceptions
`armem::error::EntityHistoryEmpty`If the history is empty.

Definition at line 262 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getFirstSnapshot() [2/2]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT & getFirstSnapshot ( ) const
inline

Definition at line 269 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getFirstTimestamp()

template<class _EntitySnapshotT, class _Derived>
Time getFirstTimestamp ( ) const
inline

Get the oldest timestamp.

Exceptions
`armem::error::EntityHistoryEmpty`If the history is empty.

Definition at line 219 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getKeyString()

template<class _EntitySnapshotT, class _Derived>
std::string getKeyString ( ) const
inline

Definition at line 728 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getLatestTimestamp()

template<class _EntitySnapshotT, class _Derived>
Time getLatestTimestamp ( ) const
inline

Get the latest timestamp.

Exceptions
`armem::error::EntityHistoryEmpty`If the history is empty.

Definition at line 209 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getLevelName()

template<class _EntitySnapshotT, class _Derived>
static std::string getLevelName ( )
inlinestatic

Definition at line 734 of file EntityBase.h.

◆ getSnapshot() [1/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & getSnapshot ( const MemoryID & snapshotID)
inline

Definition at line 186 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getSnapshot() [2/4]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT & getSnapshot ( const MemoryID & snapshotID) const
inline

Definition at line 193 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getSnapshot() [3/4]

template<class _EntitySnapshotT, class _Derived>
EntitySnapshotT & getSnapshot ( const Time & time)
inline

Get a snapshot.

Parameters
timeThe time.
Returns
The snapshot, if it exists.
Exceptions
`armem::error::MissingEntry`If there is no such entry.

Definition at line 150 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getSnapshot() [4/4]

template<class _EntitySnapshotT, class _Derived>
const EntitySnapshotT & getSnapshot ( const Time & time) const
inline

Definition at line 160 of file EntityBase.h.

+ Here is the call graph for this function:

◆ getTimestamps()

template<class _EntitySnapshotT, class _Derived>
std::vector< Time > getTimestamps ( ) const
inline

Get all timestamps in the history.

Definition at line 608 of file EntityBase.h.

◆ hasSnapshot() [1/2]

template<class _EntitySnapshotT, class _Derived>
bool hasSnapshot ( const MemoryID & snapshotID) const
inline

Indicate whether a snapshot with the given ID exists.

Definition at line 123 of file EntityBase.h.

+ Here is the call graph for this function:

◆ hasSnapshot() [2/2]

template<class _EntitySnapshotT, class _Derived>
bool hasSnapshot ( const Time & time) const
inline

Indicate whether a snapshot at the given time exists.

Definition at line 115 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ hasSnapshots()

template<class _EntitySnapshotT, class _Derived>
bool hasSnapshots ( ) const
inline

Indicate whether the entity has any snapshots.

Definition at line 107 of file EntityBase.h.

+ Here is the call graph for this function:

◆ name() [1/2]

template<class _EntitySnapshotT, class _Derived>
std::string & name ( )
inline

Definition at line 94 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ name() [2/2]

template<class _EntitySnapshotT, class _Derived>
const std::string & name ( ) const
inline

Definition at line 100 of file EntityBase.h.

+ Here is the call graph for this function:

◆ operator=() [1/2]

template<class _EntitySnapshotT, class _Derived>
EntityBase & operator= ( const EntityBase< _EntitySnapshotT, _Derived > & other)
default
+ Here is the call graph for this function:

◆ operator=() [2/2]

template<class _EntitySnapshotT, class _Derived>
EntityBase & operator= ( EntityBase< _EntitySnapshotT, _Derived > && other)
default
+ Here is the call graph for this function:

◆ update()

template<class _EntitySnapshotT, class _Derived>
UpdateResult update ( const EntityUpdate & update)
inline

Add the given update to this entity's history.

Parameters
updateThe update.
Returns
The snapshot ID of the update.

Definition at line 621 of file EntityBase.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

The documentation for this class was generated from the following file: