5 #include <RobotAPI/interface/armem/query.h>
13 template <
class _MemoryT,
class _ResultMemoryT,
class _ChildProcessorT>
50 const armem::query::data::MemoryQuery& query,
53 if (
auto q =
dynamic_cast<const armem::query::data::memory::All*
>(&query))
57 else if (
auto q =
dynamic_cast<const armem::query::data::memory::Single*
>(&query))
61 else if (
auto q =
dynamic_cast<const armem::query::data::memory::Regex*
>(&query))
73 const armem::query::data::memory::All& query,
82 const armem::query::data::memory::Single& query,
85 if (
auto coreSegment =
memory.findCoreSegment(query.coreSegmentName))
93 const armem::query::data::memory::Regex& query,
96 const std::regex regex(query.coreSegmentNameRegex);
98 [
this, &result, &query, ®ex](
const CoreSegmentT& coreSegment)
100 if (std::regex_search(coreSegment.name(), regex))
102 this->_processResult(result, coreSegment, query);
119 const armem::query::data::MemoryQuery& query)
const
122 if (child ==
nullptr)
124 child = &result.
addCoreSegment(coreSegment.name(), coreSegment.aronType());
126 childProcessor.process(*child, query.coreSegmentQueries, coreSegment);