![]() |
Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/iter-stack.hpp"
A Stack which can be popped by iterating.
This is a simple helper built by wrapping up STL's double ended queue (deque). Thus, each instance holds the full state, which is actually kept in heap allocated storage. Pushing of new elements and iterator use may be mixed.
Contrary to just using std::stack
Definition at line 113 of file iter-stack.hpp.
Public Member Functions | |
void | clear () |
bool | empty () const |
IterStack & | insert (TY const &elm) |
TY | pop () |
IterStack & | push (TY const &elm) |
IterStack & | push (TY &&elm) |
size_t | size () const |
![]() | |
IterStateWrapper (iter::IterDequeStorage< TY > &&initialState) | |
IterStateWrapper (iter::IterDequeStorage< TY > const &initialState) | |
bool | empty () const |
ENABLE_USE_IN_STD_RANGE_FOR_LOOPS (IterStateWrapper) | |
bool | isValid () const |
operator bool () const | |
iter::CoreYield< iter::IterDequeStorage< TY > > | operator* () const |
IterStateWrapper & | operator++ () |
pointer | operator-> () const |
Additional Inherited Members | |
![]() | |
using | pointer = typename meta::RefTraits< iter::CoreYield< iter::IterDequeStorage< TY > > >::Pointer |
using | reference = typename meta::RefTraits< iter::CoreYield< iter::IterDequeStorage< TY > > >::Reference |
using | value_type = typename meta::RefTraits< iter::CoreYield< iter::IterDequeStorage< TY > > >::Value |
![]() | |
void | __throw_if_empty () const |
iter::IterDequeStorage< TY > & | stateCore () |
allow derived classes to access state representation | |
iter::IterDequeStorage< TY > const & | stateCore () const |