78#ifndef STEAM_MOBJECT_SESSION_SCOPE_PATH_H
79#define STEAM_MOBJECT_SESSION_SCOPE_PATH_H
132 typedef _VType::const_reverse_iterator
_VIter;
146 explicit operator bool()
const {
return isValid(); }
156 operator string()
const;
207 return not (path1 == path2);
258 return path_.empty();
266 and
path_[0].isRoot()
Accessing a STL element range through a Lumiera forward iterator, An instance of this iterator adapte...
Sequence of nested scopes within the high-level model.
friend bool operator==(ScopePath const &, ScopePath const &)
_VType::const_reverse_iterator _VIter
bool endsAt(Scope const &) const
verify the scope in question is equivalent to our leaf scope.
friend void intrusive_ptr_add_ref(ScopePath *)
management function for boost::intrusive_ptr to be picked up by ADL
void appendScope(Scope const &)
Scope const & getLeaf() const
static const ScopePath INVALID
constant invalid path token.
PlacementMO const & currModelRoot() const
friend bool disjoint(ScopePath const &, ScopePath const &)
friend void intrusive_ptr_release(ScopePath *)
_IterType iterator
Iteration is always ascending from leaf to root.
bool hasValidRoot() const
ScopePath & operator=(ScopePath const &)
Copy from existing path.
bool isValid() const
a valid path consists of more than just the root element.
friend ScopePath commonPrefix(ScopePath const &, ScopePath const &)
bool empty() const
an empty path doesn't even contain a root element.
std::vector< Scope > path_
bool contains(Scope const &) const
ScopePath()
Create an empty path.
void navigate(Scope const &)
lib::RangeIter< _VIter > _IterType
A Placement scope within the high-level-model.
Lumiera error handling (C++ interface).
Helper template(s) for creating Lumiera Forward Iterators.
Implementation namespace for support and library code.
Namespace of Session and user visible high-level objects.
void intrusive_ptr_add_ref(ScopePath *pathFrame)
management function for boost::intrusive_ptr to be picked up by ADL
bool operator==(LocatingPin const &pin1, LocatingPin const &pin2)
check for equivalent definition of a complete locating chain
void intrusive_ptr_release(ScopePath *pathFrame)
bool operator!=(ScopePath const &path1, ScopePath const &path2)
Steam-Layer implementation namespace root.