EntitySnapshotBase< InstanceT > Class Template Referenceabstract

Interface functions for the longterm memory classes. More...

#include <RobotAPI/libraries/armem/server/ltm/detail/EntitySnapshotBase.h>

+ Inheritance diagram for EntitySnapshotBase< InstanceT >:

Classes

struct  Statistics
 

Public Member Functions

virtual std::shared_ptr< InstanceT > findInstance (const int) const =0
 find Instance segment More...
 
virtual bool forEachInstance (std::function< void(InstanceT &)> func) const =0
 iterate over all Instance segments of this ltm More...
 
Statistics getStatistics () const
 
virtual bool hasInstance (const int) const =0
 check if Instance segment exists More...
 
void loadAllReferences (armem::wm::EntitySnapshot &e) const
 return the full sub-ltm as a wm::EntitySnapshot with only references the ltm may be huge, use with caution More...
 
 MemoryItem (const std::string &exportName, const MemoryID &)
 
 MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &)
 
void resetStatistics ()
 statistics More...
 
void resolve (armem::wm::EntitySnapshot &e) const
 convert the references of the input into a wm::Memory More...
 
void store (const armem::wm::EntitySnapshot &e)
 encode the content of a wm::Memory and store More...
 
- Public Member Functions inherited from MemoryItem
virtual std::string getExportName () const
 
MemoryID getMemoryID () const
 
MemoryID id () const
 
 MemoryItem (const std::string &exportName, const MemoryID &)
 
 MemoryItem (const std::string &exportName, const MemoryID &, const std::shared_ptr< Processors > &)
 
std::string name () const
 
void setExportName (const std::string &n)
 
void setMemoryID (const MemoryID &)
 
void setMemoryName (const std::string &memoryName)
 
virtual ~MemoryItem ()=default
 

Static Public Member Functions

static std::string getLevelName ()
 

Protected Member Functions

virtual void _loadAllReferences (armem::wm::EntitySnapshot &) const =0
 
virtual void _resolve (armem::wm::EntitySnapshot &) const =0
 
virtual void _store (const armem::wm::EntitySnapshot &)=0
 
- Protected Member Functions inherited from MemoryItem
virtual void _setExportName (const std::string &)
 
virtual void _setMemoryID (const MemoryID &)
 

Protected Attributes

std::recursive_mutex ltm_mutex
 
Statistics statistics
 
- Protected Attributes inherited from MemoryItem
std::shared_ptr< Processorsprocessors
 

Detailed Description

template<class InstanceT>
class armarx::armem::server::ltm::detail::EntitySnapshotBase< InstanceT >

Interface functions for the longterm memory classes.

Definition at line 17 of file EntitySnapshotBase.h.

Member Function Documentation

◆ _loadAllReferences()

virtual void _loadAllReferences ( armem::wm::EntitySnapshot ) const
protectedpure virtual

Implemented in EntitySnapshot.

+ Here is the caller graph for this function:

◆ _resolve()

virtual void _resolve ( armem::wm::EntitySnapshot ) const
protectedpure virtual

Implemented in EntitySnapshot.

+ Here is the caller graph for this function:

◆ _store()

virtual void _store ( const armem::wm::EntitySnapshot )
protectedpure virtual

Implemented in EntitySnapshot.

+ Here is the caller graph for this function:

◆ findInstance()

virtual std::shared_ptr<InstanceT> findInstance ( const int  ) const
pure virtual

find Instance segment

Implemented in EntitySnapshot.

◆ forEachInstance()

virtual bool forEachInstance ( std::function< void(InstanceT &)>  func) const
pure virtual

iterate over all Instance segments of this ltm

Implemented in EntitySnapshot.

◆ getLevelName()

static std::string getLevelName ( )
inlinestatic

Definition at line 64 of file EntitySnapshotBase.h.

◆ getStatistics()

Statistics getStatistics ( ) const
inline

Definition at line 58 of file EntitySnapshotBase.h.

◆ hasInstance()

virtual bool hasInstance ( const int  ) const
pure virtual

check if Instance segment exists

Implemented in EntitySnapshot.

◆ loadAllReferences()

void loadAllReferences ( armem::wm::EntitySnapshot e) const
inline

return the full sub-ltm as a wm::EntitySnapshot with only references the ltm may be huge, use with caution

Definition at line 31 of file EntitySnapshotBase.h.

◆ MemoryItem() [1/2]

Definition at line 10 of file MemoryItem.cpp.

◆ MemoryItem() [2/2]

Definition at line 15 of file MemoryItem.cpp.

◆ resetStatistics()

void resetStatistics ( )
inline

statistics

Definition at line 52 of file EntitySnapshotBase.h.

◆ resolve()

void resolve ( armem::wm::EntitySnapshot e) const
inline

convert the references of the input into a wm::Memory

Definition at line 38 of file EntitySnapshotBase.h.

◆ store()

void store ( const armem::wm::EntitySnapshot e)
inline

encode the content of a wm::Memory and store

Definition at line 45 of file EntitySnapshotBase.h.

Member Data Documentation

◆ ltm_mutex

std::recursive_mutex ltm_mutex
mutableprotected

Definition at line 84 of file EntitySnapshotBase.h.

◆ statistics

Statistics statistics
protected

Definition at line 86 of file EntitySnapshotBase.h.


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