65 : anchor_(constitutingPlacement)
68 Scope::Scope (PlacementMO::ID
const& constitutingPlacement)
69 : anchor_(constitutingPlacement)
76 REQUIRE (!anchor_.isValid());
83 ENSURE (anchor_.isValid());
88 Scope::operator= (
Scope const& o)
101 ScopeLocator::ScopeLocator()
105 ScopeLocator::~ScopeLocator() { }
126 ScopeLocator::stackSize()
const 128 return focusStack_->size();
145 return focusStack_->top();
175 ScopePath& currentPath = focusStack_->top();
176 currentPath.navigate (scope);
177 return wrapIter (currentPath.
begin());
198 Scope::getTop()
const 213 , LERR_(NO_PARENT_SCOPE));
233 return anchor_.isValid();
241 Scope::operator string()
const 244 res += anchor_->shortID();
Implementation level session API: query a scope.
_IterT< IT >::Iter wrapIter(IT &&source)
wraps a given Lumiera Forward Iterator, exposing just a IterSource based frontend.
static lumiera::QueryResolver const & getResolver()
Interface: a facility for resolving (some kind of) queries A concrete subclass has the ability to cre...
Scope getParent() const
retrieve the parent scope which encloses this scope.
Scope()
unlocated NIL scope
framework and to resolve logical queries.
Core abstraction of the Session model: a media object.
static Scope containing(PlacementMO const &aPlacement)
discover the enclosing scope of a given Placement
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.
static PlacementMO & getScopeRoot()
bool isValid() const
check if this scope can be located.
Derived specific exceptions within Lumiera's exception hierarchy.
lumiera::QueryResolver const & theResolver()
static PlacementMO & getScope(PlacementMO const &)
Iteration source interface to abstract a data source, which then can be accessed through IterAdapter ...
lib::IterSource< const Scope >::iterator locate(Scope const &target)
navigate the current QueryFocus scope location.
Implementation facility to work with and navigate nested scopes.
static const Scope INVALID
constant invalid scope token.
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.
Service to build the notion of a current location within the Sesison model.
Lumiera public interface.
static lib::Depend< ScopeLocator > instance
Storage holding the single ScopeLocator instance.
Extension module to build an opaque data source, accessible as Lumiera Forward Iterator.
A custom stack holding ScopePath »frames«.
#define LUMIERA_ERROR_DEFINE(err, msg)
Definition and initialisation of an error constant.