armarx::armem::base::detail Namespace Reference

Classes

class  AronTyped
 Something with a specific ARON type. More...
 
struct  ForEachEntityInstanceMixin
 
struct  ForEachEntityMixin
 
struct  ForEachEntitySnapshotMixin
 
struct  ForEachProviderSegmentMixin
 
struct  GetFindEntityMixin
 
struct  GetFindInstanceMixin
 
struct  GetFindProviderSegmentMixin
 
struct  GetFindSnapshotMixin
 
struct  GetLatestInstanceMixin
 
struct  GetLatestSnapshotMixin
 
struct  has_mapped_type
 
struct  has_mapped_type< T, std::void_t< typename T::mapped_type > >
 
class  MemoryContainerBase
 Provides default implmentations of MemoryContainer, as well as iterators (which requires a template). More...
 
class  MemoryItem
 Base class of memory classes on different levels. More...
 
class  Predictive
 Something that supports a set of prediction engines. More...
 
class  PredictiveContainer
 Something that supports a set of prediction engines. More...
 

Functions

template<class FunctionT, class ChildT>
bool call (FunctionT &&func, ChildT &&child)
 
void checkHasCoreSegmentName (const MemoryID &coreSegmentID)
 Throw armem::error::InvalidMemoryID if the given ID has core segment name.
 
void checkHasEntityName (const MemoryID &entityID)
 Throw armem::error::InvalidMemoryID if the given ID has no entity name.
 
void checkHasInstanceIndex (const MemoryID &instanceID)
 Throw armem::error::InvalidMemoryID if the given ID has no instance index.
 
void checkHasMemoryName (const MemoryID &memory)
 Throw armem::error::InvalidMemoryID if the given ID has memory name.
 
void checkHasProviderSegmentName (const MemoryID &providerSegmentID)
 Throw armem::error::InvalidMemoryID if the given ID has provider segment name.
 
void checkHasTimestamp (const MemoryID &snapshotID)
 Throw armem::error::InvalidMemoryID if the given ID has no timestamp.
 
template<class DerivedT, class ThisT>
const DerivedT & derived (const ThisT *t)
 
template<class DerivedT, class ThisT>
DerivedT & derived (ThisT *t)
 
template<class KeyT, class ContainerT>
auto * findChildByKey (const KeyT &key, ContainerT &&container)
 Find a child in a container by its key.
 
template<class ContainerT, class FunctionT>
bool forEachChild (ContainerT &container, FunctionT &&func)
 
template<class ContainerT, class FunctionT>
bool forEachChildPair (ContainerT &container, FunctionT &&func)
 
template<class ContainerT, class FunctionT>
bool forEachChildSingle (ContainerT &container, FunctionT &&func)
 
template<class FunctionT, class ParentT, class ChildT>
bool forEachInstanceIn (const MemoryID &id, FunctionT &&func, ParentT &parent, bool single, ChildT *child)
 
void fromIce (const aron::data::dto::DictPtr &ice, aron::data::DictPtr &bo)
 
void fromIce (const aron::type::dto::GenericTypePtr &ice, aron::type::ObjectPtr &bo)
 
void fromIceItem (const data::detail::MemoryItem &ice, MemoryItem &item)
 
template<class KeyT, class ContainerT, class ParentT, class KeyStringFn>
auto & getChildByKey (const KeyT &key, ContainerT &&container, const ParentT &owner, KeyStringFn &&keyStringFn)
 Retrieve a child in a container by its key.
 
template<class KeyT, class ContainerT, class ParentT>
auto & getChildByKey (const KeyT &key, ContainerT &&container, const ParentT &parent)
 Retrieve a child in a container by its key.
 
size_t negativeIndexSemantics (long index, size_t size)
 
void throwIfNotEqual (const Time &ownTime, const Time &updateTime)
 
void toIce (aron::data::dto::DictPtr &ice, const aron::data::DictPtr &bo)
 
void toIce (aron::type::dto::GenericTypePtr &ice, const aron::type::ObjectPtr &bo)
 
void toIceItem (data::detail::MemoryItem &ice, const MemoryItem &item)
 

Function Documentation

◆ call()

template<class FunctionT, class ChildT>
bool call ( FunctionT && func,
ChildT && child )

Definition at line 40 of file iteration_mixins.h.

+ Here is the caller graph for this function:

◆ checkHasCoreSegmentName()

void checkHasCoreSegmentName ( const MemoryID & coreSegmentID)

Throw armem::error::InvalidMemoryID if the given ID has core segment name.

Definition at line 46 of file lookup_mixins.cpp.

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

◆ checkHasEntityName()

void checkHasEntityName ( const MemoryID & entityID)

Throw armem::error::InvalidMemoryID if the given ID has no entity name.

Definition at line 27 of file lookup_mixins.cpp.

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

◆ checkHasInstanceIndex()

void checkHasInstanceIndex ( const MemoryID & instanceID)

Throw armem::error::InvalidMemoryID if the given ID has no instance index.

Definition at line 9 of file lookup_mixins.cpp.

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

◆ checkHasMemoryName()

void checkHasMemoryName ( const MemoryID & memory)

Throw armem::error::InvalidMemoryID if the given ID has memory name.

Definition at line 56 of file lookup_mixins.cpp.

+ Here is the call graph for this function:

◆ checkHasProviderSegmentName()

void checkHasProviderSegmentName ( const MemoryID & providerSegmentID)

Throw armem::error::InvalidMemoryID if the given ID has provider segment name.

Definition at line 36 of file lookup_mixins.cpp.

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

◆ checkHasTimestamp()

void checkHasTimestamp ( const MemoryID & snapshotID)

Throw armem::error::InvalidMemoryID if the given ID has no timestamp.

Definition at line 18 of file lookup_mixins.cpp.

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

◆ derived() [1/2]

template<class DerivedT, class ThisT>
const DerivedT & derived ( const ThisT * t)

Definition at line 15 of file derived.h.

◆ derived() [2/2]

template<class DerivedT, class ThisT>
DerivedT & derived ( ThisT * t)

Definition at line 8 of file derived.h.

◆ findChildByKey()

template<class KeyT, class ContainerT>
auto * findChildByKey ( const KeyT & key,
ContainerT && container )

Find a child in a container by its key.

Parameters
keyThe child's key.
containerThe child's container.
Returns
A pointer to the child, or nullptr if it was not found.

Definition at line 32 of file lookup_mixins.h.

+ Here is the caller graph for this function:

◆ forEachChild()

template<class ContainerT, class FunctionT>
bool forEachChild ( ContainerT & container,
FunctionT && func )

Definition at line 103 of file iteration_mixins.h.

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

◆ forEachChildPair()

template<class ContainerT, class FunctionT>
bool forEachChildPair ( ContainerT & container,
FunctionT && func )

Definition at line 75 of file iteration_mixins.h.

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

◆ forEachChildSingle()

template<class ContainerT, class FunctionT>
bool forEachChildSingle ( ContainerT & container,
FunctionT && func )

Definition at line 60 of file iteration_mixins.h.

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

◆ forEachInstanceIn()

template<class FunctionT, class ParentT, class ChildT>
bool forEachInstanceIn ( const MemoryID & id,
FunctionT && func,
ParentT & parent,
bool single,
ChildT * child )

Definition at line 117 of file iteration_mixins.h.

+ Here is the caller graph for this function:

◆ fromIce() [1/2]

void fromIce ( const aron::data::dto::DictPtr & ice,
aron::data::DictPtr & bo )

Definition at line 32 of file ice_conversions.cpp.

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

◆ fromIce() [2/2]

void fromIce ( const aron::type::dto::GenericTypePtr & ice,
aron::type::ObjectPtr & bo )

Definition at line 51 of file ice_conversions.cpp.

+ Here is the call graph for this function:

◆ fromIceItem()

void fromIceItem ( const data::detail::MemoryItem & ice,
MemoryItem & item )

Definition at line 20 of file ice_conversions.cpp.

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

◆ getChildByKey() [1/2]

template<class KeyT, class ContainerT, class ParentT, class KeyStringFn>
auto & getChildByKey ( const KeyT & key,
ContainerT && container,
const ParentT & owner,
KeyStringFn && keyStringFn )

Retrieve a child in a container by its key.

Parameters
keyThe child's key.
containerThe container.
parentThe container's owner. Used for the error message.
keyStringFnA function which turns key into a string. Used for the error message.
Returns
A reference to the child.
Exceptions
armem::error::ArMemErrorIf the child was not found.

Definition at line 49 of file lookup_mixins.h.

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

◆ getChildByKey() [2/2]

template<class KeyT, class ContainerT, class ParentT>
auto & getChildByKey ( const KeyT & key,
ContainerT && container,
const ParentT & parent )

Retrieve a child in a container by its key.

Parameters
keyThe child's key.
containerThe container.
parentThe container's owner. Used for the error message.
Returns
A reference to the child.
Exceptions
armem::error::ArMemErrorIf the child was not found.

Definition at line 75 of file lookup_mixins.h.

+ Here is the call graph for this function:

◆ negativeIndexSemantics()

size_t negativeIndexSemantics ( long index,
size_t size )

Definition at line 6 of file negative_index_semantics.cpp.

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

◆ throwIfNotEqual()

void throwIfNotEqual ( const Time & ownTime,
const Time & updateTime )

Definition at line 6 of file EntitySnapshotBase.cpp.

+ Here is the caller graph for this function:

◆ toIce() [1/2]

void toIce ( aron::data::dto::DictPtr & ice,
const aron::data::DictPtr & bo )

Definition at line 26 of file ice_conversions.cpp.

+ Here is the caller graph for this function:

◆ toIce() [2/2]

void toIce ( aron::type::dto::GenericTypePtr & ice,
const aron::type::ObjectPtr & bo )

Definition at line 45 of file ice_conversions.cpp.

◆ toIceItem()

void toIceItem ( data::detail::MemoryItem & ice,
const MemoryItem & item )

Definition at line 14 of file ice_conversions.cpp.

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