CoreSegmentBase< _ProviderSegmentT > Class Template Referenceabstract

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

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

+ Inheritance diagram for CoreSegmentBase< _ProviderSegmentT >:

Classes

struct  Statistics
 

Public Types

using ProviderSegmentT = _ProviderSegmentT
 

Public Member Functions

aron::type::ObjectPtr aronType () const
 get aron type More...
 
virtual std::shared_ptr< ProviderSegmentTfindProviderSegment (const std::string &) const =0
 find provider segment More...
 
virtual bool forEachProviderSegment (std::function< void(ProviderSegmentT &)> func) const =0
 iterate over all provider segments of this ltm More...
 
Statistics getStatistics () const
 
virtual bool hasProviderSegment (const std::string &) const =0
 check if provider segment exists More...
 
void loadAllReferences (armem::wm::CoreSegment &coreSeg)
 return the full sub-ltm as a wm::CoreSegment with only references the ltm may be huge, use with caution More...
 
void loadLatestNReferences (int n, armem::wm::CoreSegment &coreSeg)
 
 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::CoreSegment &coreSeg)
 convert the references of the input into a wm::Memory More...
 
void store (const armem::wm::CoreSegment &coreSeg)
 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 ()
 get level name More...
 

Protected Member Functions

virtual void _loadAllReferences (armem::wm::CoreSegment &)=0
 
virtual void _loadLatestNReferences (int n, armem::wm::CoreSegment &c)=0
 
virtual void _resolve (armem::wm::CoreSegment &)=0
 
virtual void _store (const armem::wm::CoreSegment &)=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 _ProviderSegmentT>
class armarx::armem::server::ltm::detail::CoreSegmentBase< _ProviderSegmentT >

Interface functions for the longterm memory classes.

Definition at line 17 of file CoreSegmentBase.h.

Member Typedef Documentation

◆ ProviderSegmentT

using ProviderSegmentT = _ProviderSegmentT

Definition at line 26 of file CoreSegmentBase.h.

Member Function Documentation

◆ _loadAllReferences()

virtual void _loadAllReferences ( armem::wm::CoreSegment )
protectedpure virtual

Implemented in CoreSegment.

+ Here is the caller graph for this function:

◆ _loadLatestNReferences()

virtual void _loadLatestNReferences ( int  n,
armem::wm::CoreSegment c 
)
protectedpure virtual

Implemented in CoreSegment.

+ Here is the caller graph for this function:

◆ _resolve()

virtual void _resolve ( armem::wm::CoreSegment )
protectedpure virtual

Implemented in CoreSegment.

+ Here is the caller graph for this function:

◆ _store()

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

Implemented in CoreSegment.

+ Here is the caller graph for this function:

◆ aronType()

aron::type::ObjectPtr aronType ( ) const
inline

get aron type

Definition at line 82 of file CoreSegmentBase.h.

◆ findProviderSegment()

virtual std::shared_ptr<ProviderSegmentT> findProviderSegment ( const std::string &  ) const
pure virtual

find provider segment

Implemented in CoreSegment.

◆ forEachProviderSegment()

virtual bool forEachProviderSegment ( std::function< void(ProviderSegmentT &)>  func) const
pure virtual

iterate over all provider segments of this ltm

Implemented in CoreSegment.

◆ getLevelName()

static std::string getLevelName ( )
inlinestatic

get level name

Definition at line 89 of file CoreSegmentBase.h.

◆ getStatistics()

Statistics getStatistics ( ) const
inline

Definition at line 66 of file CoreSegmentBase.h.

◆ hasProviderSegment()

virtual bool hasProviderSegment ( const std::string &  ) const
pure virtual

check if provider segment exists

Implemented in CoreSegment.

◆ loadAllReferences()

void loadAllReferences ( armem::wm::CoreSegment coreSeg)
inline

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

Definition at line 33 of file CoreSegmentBase.h.

◆ loadLatestNReferences()

void loadLatestNReferences ( int  n,
armem::wm::CoreSegment coreSeg 
)
inline

Definition at line 39 of file CoreSegmentBase.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 60 of file CoreSegmentBase.h.

◆ resolve()

void resolve ( armem::wm::CoreSegment coreSeg)
inline

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

Definition at line 46 of file CoreSegmentBase.h.

◆ store()

void store ( const armem::wm::CoreSegment coreSeg)
inline

encode the content of a wm::Memory and store

Definition at line 53 of file CoreSegmentBase.h.

Member Data Documentation

◆ ltm_mutex

std::recursive_mutex ltm_mutex
mutableprotected

Definition at line 101 of file CoreSegmentBase.h.

◆ statistics

Statistics statistics
protected

Definition at line 103 of file CoreSegmentBase.h.


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