5 #include <RobotAPI/interface/armem/query.h>
13 template <
class _Prov
iderSegmentT,
class _ResultProv
iderSegmentT,
class _ChildProcessorT>
16 _ResultProviderSegmentT,
17 armem::query::data::ProviderSegmentQuery>
21 _ResultProviderSegmentT,
22 armem::query::data::ProviderSegmentQuery>;
49 const armem::query::data::ProviderSegmentQuery& query,
52 if (
auto q =
dynamic_cast<const armem::query::data::provider::All*
>(&query))
54 process(result, *
q, providerSegment);
56 else if (
auto q =
dynamic_cast<const armem::query::data::provider::Single*
>(&query))
58 process(result, *
q, providerSegment);
60 else if (
auto q =
dynamic_cast<const armem::query::data::provider::Regex*
>(&query))
62 process(result, *
q, providerSegment);
72 const armem::query::data::provider::All& query,
81 const armem::query::data::provider::Single& query,
84 if (
auto entity = providerSegment.
findEntity(query.entityName))
92 const armem::query::data::provider::Regex& query,
95 const std::regex regex(query.entityNameRegex);
97 [
this, &result, &query, ®ex](
const EntityT& entity)
99 if (std::regex_search(entity.name(), regex))
101 this->_processResult(result, entity, query);
112 const armem::query::data::ProviderSegmentQuery& query)
const
115 if (child ==
nullptr)
117 child = &result.
addEntity(entity.name());