43 template <
typename AronClass>
44 std::optional<AronClass>
47 static_assert(std::is_base_of<armarx::aron::cpp::AronGeneratedClass, AronClass>::value);
65 return AronClass::FromAron(item.
data());
80 template <
typename AronClass>
81 std::vector<AronClass>
82 allOfType(
const std::map<std::string, wm::Entity>& entities)
84 static_assert(std::is_base_of<armarx::aron::cpp::AronGeneratedClass, AronClass>::value);
86 std::vector<AronClass> outV;
89 for (
const auto& [s, entity] : entities)
91 entity.forEachInstance(
124 template <
typename AronClass>
127 -> std::vector<
decltype(pred(AronClass()))>
129 static_assert(std::is_base_of<armarx::aron::cpp::AronGeneratedClass, AronClass>::value);
131 std::vector<
decltype(pred(AronClass()))> outV;
133 if (entities.empty())
139 for (
const auto& [s, entity] : entities)
141 entity.forEachInstance(
148 outV.push_back(pred(*o));
184 std::optional<std::pair<armarx::aron::data::DictPtr, armarx::aron::type::ObjectPtr>>
const DataT & data() const
The memory name system (MNS) client.
Client-side working memory.
A base class for aron exceptions.
Brief description of class memory.
#define ARMARX_WARNING
The logging level for unexpected behaviour, but not a serious problem.
armem::wm::EntityInstance EntityInstance
auto transformAllOfType(const std::map< std::string, wm::Entity > &entities, auto pred) -> std::vector< decltype(pred(AronClass()))>
filter + transform for entities.
std::vector< AronClass > allOfType(const std::map< std::string, wm::Entity > &entities)
Returns all entities that can be cast to AronClass.
std::optional< std::pair< armarx::aron::data::DictPtr, armarx::aron::type::ObjectPtr > > extractDataAndType(const armarx::armem::wm::Memory &memory, const armarx::armem::MemoryID &memoryID)
get the data and type of the given MemoryID in the given Memory.
std::optional< armarx::armem::wm::Memory > resolveID(armarx::armem::client::MemoryNameSystem &mns, const armarx::armem::MemoryID &memoryID)
resolve a single MemoryID with the given MemoryNameSystem.
std::optional< AronClass > tryCast(const wm::EntityInstance &item)
Tries to cast a armem::EntityInstance to AronClass.