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>>
74 typedef function<bool(PlacementMO const&)> ContentFilter;
78 contentFilter ()
const 91 : _Query (_Query::defineQueryTypeID (Goal::DISCOVERY)
142 PlacementMO::ID startPoint_;
147 typedef typename _Parent::ContentFilter ContentFilter;
153 , to_discover_(direction)
158 PlacementMO::ID
const&
165 searchDirection ()
const 182 return bind (&PlacementMO::isCompatible<MO>, _1 );
195 TODO (
"valid syntactic representation of scope queries");
196 return lib::QueryText (_Fmt (
"scope(X, %08X), scopeRelation(X, %d)")
197 % hash_value(searchScope())
198 % 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.