Newer
Older
#pragma once
#include <RobotAPI/interface/armem/query.h>
#include <RobotAPI/libraries/armem/core/DataMode.h>
#include <RobotAPI/libraries/armem/client/Query.h>
namespace armarx::armem::client::query
{
// ToDo: Make a memory selector (but this level is not in ice, yet)
* @brief The query::Builder class provides a fluent-style specification of
* hierarchical queries.
*
* Syntax:
*
* @code
* TODO
* @endcode
*/
class Builder :
public detail::ParentSelectorOps<Builder, CoreSegmentSelector>
Builder(DataMode dataMode = DataMode::WithData);
CoreSegmentSelector& coreSegments();
CoreSegmentSelector& coreSegments(const CoreSegmentSelector& selector);
CoreSegmentSelector& coreSegments(Ts... args)
/// Get all snapshots from all entities in all segments.
void all();
/// Get all latest snapshots from entities in all segments.
void allLatest();
/// Get all snapshots from all entities in all provider segments in a core segment.
void allInCoreSegment(const MemoryID& coreSegmentID);
/// Get latest snapshots from all entities in all provider segments in a core segment.
void allLatestInCoreSegment(const MemoryID& coreSegmentID);
/// Get all snapshots from all entities in a provider segment.
void allInProviderSegment(const MemoryID& providerSegmentID);
/// Get latest snapshots from all entities in a provider segment.
void allLatestInProviderSegment(const MemoryID& providerSegmentID);
void allEntitySnapshots(const MemoryID& entityID);
void latestEntitySnapshot(const MemoryID& entityID);
void singleEntitySnapshot(const MemoryID& snapshotID);
QueryInput buildQueryInput() const;
armem::query::data::Input buildQueryInputIce() const;
armem::query::data::MemoryQuerySeq buildMemoryQueries() const;
public:
DataMode dataMode;