Go to the documentation of this file.
7 #include <RobotAPI/interface/armem/memory.h>
20 void toIceItem(data::detail::MemoryItem& ice,
const MemoryItem& item);
21 void fromIceItem(
const data::detail::MemoryItem& ice, MemoryItem& item);
38 template <
class... Args>
49 template <
class... Args>
59 template <
class... Args>
65 ice.instances.clear();
70 template <
class... Args>
77 for (
const data::EntityInstancePtr& iceInstance : ice.instances)
85 template <
class... Args>
93 [&ice](
const auto& snapshot)
94 {
armarx::toIce(ice.history[armarx::toIce<dto::Time>(snapshot.time())], snapshot); });
97 template <
class... Args>
104 for (
const auto& [key, snapshot] : ice.history)
111 template <
class... Args>
120 ice.entities.clear();
125 template <
class... Args>
134 providerSegment.
clear();
135 for (
const auto& [key, entity] : ice.entities)
142 template <
class... Args>
151 ice.providerSegments.clear();
153 [&ice](
const auto& providerSegment)
154 {
armarx::toIce(ice.providerSegments[providerSegment.name()], providerSegment); });
157 template <
class... Args>
168 for (
const auto& [key, providerSegment] : ice.providerSegments)
176 template <
class... Args>
182 ice.coreSegments.clear();
183 memory.forEachCoreSegment(
184 [&ice](
const auto& coreSegment)
185 {
armarx::toIce(ice.coreSegments[coreSegment.name()], coreSegment); });
188 template <
class... Args>
195 for (
const auto& [key, coreSegment] : ice.coreSegments)
Data of a provider segment containing multiple entities.
void fromIceItem(const data::detail::MemoryItem &ice, MemoryItem &item)
armem::wm::EntityInstance EntityInstance
EntityInstanceT & addInstance(const EntityInstanceT &instance)
Add a single instance with data.
bool forEachInstance(InstanceFunctionT &&func)
Data of an entity at one point in time.
aron::type::ObjectPtr & aronType()
base::EntityInstanceMetadata EntityInstanceMetadata
Client-side working memory entity instance metadata.
void toIceItem(data::detail::MemoryItem &ice, const MemoryItem &item)
An entity over a period of time.
Brief description of class memory.
EntitySnapshotT & addSnapshot(const Time ×tamp)
Add a snapshot at the given time.
#define ARMARX_CHECK(expression)
Shortcut for ARMARX_CHECK_EXPRESSION.
void toIce(std::map< IceKeyT, IceValueT > &iceMap, const boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
Data of a core segment containing multiple provider segments.
_EntitySnapshotT EntitySnapshotT
void toIce(data::EntityInstanceMetadata &ice, const EntityInstanceMetadata &metadata)
void fromIce(const data::EntityInstanceMetadata &ice, EntityInstanceMetadata &metadata)
_ProviderSegmentT ProviderSegmentT
void fromIce(const aron::data::dto::DictPtr &ice, aron::data::DictPtr &bo)
bool forEachProviderSegment(ProviderSegmentFunctionT &&func)
ProviderSegmentT & addProviderSegment(const std::string &name, aron::type::ObjectPtr providerSegmentType=nullptr, const std::vector< PredictionEngine > &predictionEngines={})
Add an empty provider segment with the given name, optional provider segment type and prediction engi...
Data of a memory consisting of multiple core segments.
void toIce(aron::data::dto::DictPtr &ice, const aron::data::DictPtr &bo)
Data of a single entity instance.
void fromIce(const std::map< IceKeyT, IceValueT > &iceMap, boost::container::flat_map< CppKeyT, CppValueT > &cppMap)
std::shared_ptr< Dict > DictPtr
armem::wm::EntitySnapshot EntitySnapshot
bool forEachEntity(EntityFunctionT &&func)
_EntityInstanceT EntityInstanceT
bool forEachSnapshot(SnapshotFunctionT &&func)
std::shared_ptr< Object > ObjectPtr
EntityT & addEntity(const std::string &name)
Add an empty entity with the given name.
const std::optional< BoT > & bo