SpecializedCoreSegment Class Reference

A base class for core segments. More...

#include <RobotAPI/libraries/armem/server/segment/SpecializedCoreSegment.h>

+ Inheritance diagram for SpecializedCoreSegment:

Classes

struct  Properties
 

Public Member Functions

virtual void defineProperties (armarx::PropertyDefinitionsPtr defs, const std::string &prefix="") override
 
template<class FunctionT>
auto doLocked (FunctionT &&function) const
 Execute function under shared (read) lock.
 
template<class FunctionT>
auto doLockedExclusive (FunctionT &&function)
 Execute function under exclusive (write) lock.
 
template<class FunctionT>
auto doLockedShared (FunctionT &&function) const
 Execute function under shared (read) lock.
 
wm::CoreSegment & getCoreSegment ()
 
const wm::CoreSegment & getCoreSegment () const
 
virtual void init () override
 
void setAronType (aron::type::ObjectPtr aronType)
 
void setDefaultCoreSegmentName (const std::string &coreSegmentName)
 
void setDefaultMaxHistorySize (int64_t maxHistorySize)
 
void setPredictionEngines (const std::vector< PredictionEngine > &predictionEngines)
 
 SpecializedCoreSegment (MemoryToIceAdapter &iceMemory, const std::string &defaultCoreSegmentName="", aron::type::ObjectPtr coreSegmentAronType=nullptr, int defaultMaxHistorySize=10, const std::vector< PredictionEngine > &predictionEngines={})
 
virtual ~SpecializedCoreSegment () override
 
- Public Member Functions inherited from SegmentBase< server::wm::CoreSegment >
MemoryID & id ()
 
MemoryID & id ()
 
const MemoryID & id () const
 
const MemoryID & id () const
 
 SegmentBase ()=delete
 
 SegmentBase ()=delete
 
 SegmentBase (MemoryToIceAdapter &iceMemory)
 
 SegmentBase (MemoryToIceAdapter &iceMemory)
 
virtual ~SegmentBase ()=default
 
virtual ~SegmentBase ()=default
 
- Public Member Functions inherited from Logging
SpamFilterDataPtr deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const
 disables the logging for the current line for the given amount of seconds.
 
MessageTypeT getEffectiveLoggingLevel () const
 
 Logging ()
 
void setLocalMinimumLoggingLevel (MessageTypeT level)
 With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set.
 
void setTag (const LogTag &tag)
 
void setTag (const std::string &tagName)
 
virtual ~Logging ()
 

Public Attributes

aron::type::ObjectPtr aronType
 
std::vector< PredictionEngine > predictionEngines
 
Properties properties
 
- Public Attributes inherited from SegmentBase< server::wm::CoreSegment >
server::wm::CoreSegment * segmentPtr
 Set by the derived segment's init().
 
server::wm::CoreSegment * segmentPtr
 Set by the derived segment's init().
 

Additional Inherited Members

- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtr & getLogSender () const
 Retrieve log sender.
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 
- Protected Attributes inherited from SegmentBase< server::wm::CoreSegment >
MemoryToIceAdapter & iceMemory
 
MemoryToIceAdapter & iceMemory
 
- Protected Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 

Detailed Description

A base class for core segments.

Constructor & Destructor Documentation

◆ SpecializedCoreSegment()

SpecializedCoreSegment ( MemoryToIceAdapter & iceMemory,
const std::string & defaultCoreSegmentName = "",
aron::type::ObjectPtr coreSegmentAronType = nullptr,
int defaultMaxHistorySize = 10,
const std::vector< PredictionEngine > & predictionEngines = {} )

◆ ~SpecializedCoreSegment()

~SpecializedCoreSegment ( )
overridevirtual

Member Function Documentation

◆ defineProperties()

◆ doLocked()

template<class FunctionT>
auto doLocked ( FunctionT && function) const
inline

Execute function under shared (read) lock.

Kept for callers outside this repository. New code should say which lock it means: doLockedShared() or doLockedExclusive().

◆ doLockedExclusive()

template<class FunctionT>
auto doLockedExclusive ( FunctionT && function)
inline

Execute function under exclusive (write) lock.

Only one writer can hold the lock, and no readers.

◆ doLockedShared()

template<class FunctionT>
auto doLockedShared ( FunctionT && function) const
inline

Execute function under shared (read) lock.

Multiple readers can hold the lock simultaneously.

The function must not mutate the segment — use doLockedExclusive().

◆ getCoreSegment() [1/2]

wm::CoreSegment & getCoreSegment ( )

◆ getCoreSegment() [2/2]

const wm::CoreSegment & getCoreSegment ( ) const

◆ init()

◆ setAronType()

void setAronType ( aron::type::ObjectPtr aronType)

◆ setDefaultCoreSegmentName()

void setDefaultCoreSegmentName ( const std::string & coreSegmentName)

◆ setDefaultMaxHistorySize()

void setDefaultMaxHistorySize ( int64_t maxHistorySize)

◆ setPredictionEngines()

void setPredictionEngines ( const std::vector< PredictionEngine > & predictionEngines)

Member Data Documentation

◆ aronType

◆ predictionEngines

std::vector<PredictionEngine> predictionEngines

◆ properties

Properties properties

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