41 #ifndef STEAM_MOBJECT_SESSION_SCOPE_QUERY_H 42 #define STEAM_MOBJECT_SESSION_SCOPE_QUERY_H 58 using std::placeholders::_1;
75 :
public Query<Placement<MO>>
83 typedef function<bool(PlacementMO const&)> ContentFilter;
87 contentFilter ()
const 100 : _Query (_Query::defineQueryTypeID (Goal::DISCOVERY)
151 PlacementMO::ID startPoint_;
156 typedef typename _Parent::ContentFilter ContentFilter;
162 , to_discover_(direction)
167 PlacementMO::ID
const&
174 searchDirection ()
const 191 return bind (&PlacementMO::isCompatible<MO>, _1 );
204 TODO (
"valid syntactic representation of scope queries");
205 return lib::QueryText (_Fmt (
"scope(X, %08X), scopeRelation(X, %d)")
206 % hash_value(searchScope())
207 % uint(searchDirection()));
Query ABC: unspecific goal for resolution or retrieval.
Query a scope to discover it's contents or location.
framework and to resolve logical queries.
Core abstraction: placement of a media object into session context.
ContentFilter buildContentFilter() const
the default implementation of the content filtering builds on the downcast-function available on each...
discover any contained objects depth-first
Steam-Layer implementation namespace root.
A front-end for using printf-style formatting.
Namespace of Session and user visible high-level objects.
discover the path to root
discover the enclosing scopes
virtual ContentFilter buildContentFilter() const =0
yield additional filter to be applied to the result set.
lib::QueryText buildSyntacticRepresentation() const
supplement a syntactic representation (as generic query in predicate form).
discover the immediate children
DiscoveryQuery const & operator=(DiscoveryQuery const &)
Assignment explicitly disallowed (but copy ctor is ok)
Adapter for building an implementation of the »Lumiera Forward Iterator« concept. ...
Generic interface to express a query for specifically typed result elements exposing some capabilitie...
ABC to build Queries for placement-attached objects.
Syntactical query representation.