Lumiera
0.pre.03
»edit your freedom«
|
#include "steam/mobject/session/query-focus-stack.hpp"
A custom stack holding ScopePath »frames«.
It is utilised by the ScopeLocator to establish the current query focus location. Client code should access this mechanism through QueryFocus instances used as frontend. These QueryFocus objects incorporate a boost::intrusive_ptr, which stores the ref-count within the mentioned ScopePath frames located in the stack.
Definition at line 69 of file query-focus-stack.hpp.
Public Member Functions | |
void | clear () |
bool | empty () const |
void | pop_unused () |
investigate the stack top and discard any path frames which aren't referred anymore (as indicated by their ScopePath::use_count(). More... | |
ScopePath & | push (Scope const &) |
Open a new path frame, pushing down the current frame. More... | |
size_t | size () const |
ScopePath & | top () |
Private Member Functions | |
void | openDefaultFrame () |
Private Member Functions inherited from NonCopyable | |
NonCopyable (NonCopyable const &)=delete | |
NonCopyable & | operator= (NonCopyable const &)=delete |
Private Attributes | |
std::list< ScopePath > | paths_ |
Open a new path frame, pushing down the current frame.
The new frame tries to locate the given start scope and navigates to this position.
error::Invalid | if newStartPoint isn't locatable |
Definition at line 134 of file query-focus-stack.hpp.
References Scope::isRoot(), and ScopePath::isValid().
ScopePath & top | ( | ) |
Definition at line 150 of file query-focus-stack.hpp.
References QueryFocusStack::pop_unused().
void pop_unused | ( | ) |
investigate the stack top and discard any path frames which aren't referred anymore (as indicated by their ScopePath::use_count().
After executing this function the topmost frame is either in use, or a new default frame has been created at the bottom of an empty stack.
Definition at line 170 of file query-focus-stack.hpp.
References QueryFocusStack::openDefaultFrame().
Referenced by QueryFocusStack::top().
|
private |
open a default path frame at the bottom of an empty stack, locating to current model root
Definition at line 189 of file query-focus-stack.hpp.
Referenced by QueryFocusStack::pop_unused().