Lumiera
0.pre.03
»edit your freedom«
|
Go to the source code of this file.
Conveniently iterable stack and queue containers.
Implemented as thin wrapper on top of std::deque In addition to providing a simplified interface, these wrappers comply to the "Lumiera Forward Iterator" concept, allowing to retrieve and discharge the contents of the container in a standard fashion, especially by using util::for_each, or by feeding them into a iterator based pipeline.
build(sequence)
allows abstracted access to some limited manipulation of the sequence, without tying the client to a specific sequence or iterator implementation. This is intended for library templates, which typically can't make any assumptions regarding the iterator types used for instantiation.Definition in file iter-stack.hpp.
#include "lib/error.hpp"
#include "lib/iter-adapter.hpp"
#include "lib/nocopy.hpp"
#include "lib/util.hpp"
#include <deque>
#include <utility>
Classes | |
struct | IterQueue< TY >::Builder |
Adapter for use as opaque sequence. More... | |
struct | IterDequeStorage< TY > |
Wrapper to mark a std::deque instance for use as "state core" within lib::IterStateWrapper. More... | |
struct | IterQueue< TY > |
A Queue which can be pulled by iterating. More... | |
struct | IterStack< TY > |
A Stack which can be popped by iterating. More... | |
Functions | |
template<typename T > | |
IterQueue< T > | elements (T const &elm) |
convenience free function to build an iterable sequence | |
template<typename T > | |
IterQueue< T > | elements (T const &e0, T const &e1) |
template<typename T > | |
IterQueue< T > | elements (T const &e0, T const &e1, T const &e2) |
template<typename T > | |
IterQueue< T > | elements (T const &e0, T const &e1, T const &e2, T const &e3) |
template<typename T > | |
IterQueue< T > | elements (T const &e0, T const &e1, T const &e2, T const &e3, T const &e4) |
Namespaces | |
lib | |
Implementation namespace for support and library code. | |