22 #ifndef STEAM_MOBJECT_SESSION_SCOPE_LOCATOR_H 23 #define STEAM_MOBJECT_SESSION_SCOPE_LOCATOR_H 38 class QueryFocusStack;
59 std::unique_ptr<QueryFocusStack> focusStack_;
85 size_t stackSize()
const;
105 template<
typename MO>
116 template<
typename MO>
133 template<
typename MO>
Query a scope to discover it's contents or location.
Interface: a facility for resolving (some kind of) queries A concrete subclass has the ability to cre...
ScopeQuery< MO >::iterator explore(Scope const &)
use the contents-resolving facility exposed by the session to enumerate the contents (children) of th...
Core abstraction: placement of a media object into session context.
discover any contained objects depth-first
Steam-Layer implementation namespace root.
Namespace of Session and user visible high-level objects.
Access point to singletons and other kinds of dependencies designated by type.
Sequence of nested scopes within the high-level model.
A Placement scope within the high-level-model.
Singleton service establishing a link to relate any compound of nested placement scopes to the curren...
discover the path to root
lumiera::QueryResolver const & theResolver()
ScopeQuery< MO >::iterator getRawPath(Scope const &)
use the contents-resolving facility exposed by the session to discover the path up from the given sco...
ScopeQuery< MO >::iterator query(Scope const &)
use the contents-resolving facility exposed by the session to discover depth-first any object within ...
lib::IterSource< const Scope >::iterator locate(Scope const &target)
navigate the current QueryFocus scope location.
Singleton services and Dependency Injection.
ScopePath & pushPath()
push aside the current focus location and open a new ScopePath frame, to serve as current location un...
ScopePath & currPath()
establishes the current query focus location.
Specific queries to explore contents of a scope within the high-level model.
Helper to abstract creation and lifecycle of a dependency.
static lib::Depend< ScopeLocator > instance
Storage holding the single ScopeLocator instance.
discover the immediate children
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
Adapter for building an implementation of the »Lumiera Forward Iterator« concept. ...