32#ifndef STEAM_MOBJECT_SESSION_SCOPE_QUERY_H
33#define STEAM_MOBJECT_SESSION_SCOPE_QUERY_H
49 using std::placeholders::_1;
66 :
public Query<Placement<MO>>
157 PlacementMO::ID
const&
181 return bind (&PlacementMO::isCompatible<MO>, _1 );
194 TODO (
"valid syntactic representation of scope queries");
195 return lib::QueryText (_Fmt (
"scope(X, %08X), scopeRelation(X, %d)")
Adapter for building an implementation of the »Lumiera Forward Iterator« concept.
Syntactical query representation.
Query ABC: unspecific goal for resolution or retrieval.
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
static QueryID defineQueryTypeID(Kind queryType=Goal::GENERIC)
lib::IterAdapter< Cursor, PReso > iterator
friend size_t hash_value(Query const &q)
ABC to build Queries for placement-attached objects.
virtual ContentFilter buildContentFilter() const =0
yield additional filter to be applied to the result set.
ContentFilter contentFilter() const
function< bool(PlacementMO const &)> ContentFilter
DiscoveryQuery const & operator=(DiscoveryQuery const &)
Assignment explicitly disallowed (but copy ctor is ok)
Query a scope to discover it's contents or location.
ScopeQuery(PlacementMO const &scope, ScopeQueryKind direction)
_Parent::iterator iterator
_Parent::ContentFilter ContentFilter
ScopeQueryKind to_discover_
PlacementMO::ID startPoint_
ScopeQueryKind searchDirection() const
ContentFilter buildContentFilter() const
the default implementation of the content filtering builds on the downcast-function available on each...
DiscoveryQuery< MO > _Parent
lib::QueryText buildSyntacticRepresentation() const
supplement a syntactic representation (as generic query in predicate form).
PlacementMO::ID const & searchScope() const
A front-end for using printf-style formatting.
Implementation namespace for support and library code.
Namespace of Session and user visible high-level objects.
@ CONTENTS
discover any contained objects depth-first
@ PARENTS
discover the enclosing scopes
@ CHILDREN
discover the immediate children
@ PATH
discover the path to root
function< bool(Pla const &)> ContentFilter
Steam-Layer implementation namespace root.
Core abstraction: placement of a media object into session context.
framework and to resolve logical queries.
ContentsQuery(PlacementMO const &scope)
PathQuery(PlacementMO const &scope)