#include <zip_code_tree.hpp>
|
std::stack< size_t > & | stack () |
| Accessor to lazily initialize a stack for the iterator. More...
|
|
void | push (size_t value) |
| Push a value to the stack. More...
|
|
size_t | pop () |
| Pop a value from the stack and return it. More...
|
|
size_t & | top () |
| Get a mutable reference to the value on top of the stack. More...
|
|
void | dup () |
| Duplicate the top item on the stack. More...
|
|
size_t | depth () const |
| Check stack depth. More...
|
|
void | swap () |
| Reverse the top two elements of the stack. More...
|
|
void | state (State new_state) |
| Adopt a new state. More...
|
|
void | halt () |
|
bool | tick () |
|
◆ State
Type for the state of the I-can't-believe-it's-not-a-pushdown-automaton
Enumerator |
---|
S_START | |
S_SCAN_CHAIN | |
S_STACK_SNARL | |
S_SCAN_SNARL | |
S_SKIP_CHAIN | |
◆ reverse_iterator() [1/3]
vg::ZipCodeTree::reverse_iterator::reverse_iterator |
( |
vector< tree_item_t >::const_reverse_iterator |
rbegin, |
|
|
vector< tree_item_t >::const_reverse_iterator |
rend, |
|
|
size_t |
distance_limit = std::numeric_limits<size_t>::max() |
|
) |
| |
Make a reverse iterator wrapping the given reverse iterator, until the given rend, with the given distance limit.
◆ reverse_iterator() [2/3]
vg::ZipCodeTree::reverse_iterator::reverse_iterator |
( |
const reverse_iterator & |
other | ) |
|
◆ reverse_iterator() [3/3]
vg::ZipCodeTree::reverse_iterator::reverse_iterator |
( |
reverse_iterator && |
other | ) |
|
◆ depth()
auto vg::ZipCodeTree::reverse_iterator::depth |
( |
| ) |
const |
|
private |
◆ dup()
auto vg::ZipCodeTree::reverse_iterator::dup |
( |
| ) |
|
|
private |
Duplicate the top item on the stack.
◆ halt()
auto vg::ZipCodeTree::reverse_iterator::halt |
( |
| ) |
|
|
private |
Stop parsing because nothing else can be below the distance limit. This moves the current iterator it.
◆ operator!=()
bool vg::ZipCodeTree::reverse_iterator::operator!= |
( |
const reverse_iterator & |
other | ) |
const |
|
inline |
◆ operator*()
auto vg::ZipCodeTree::reverse_iterator::operator* |
( |
| ) |
const |
Get the index and orientation of the seed we are currently at, and the distance to it.
◆ operator++()
auto vg::ZipCodeTree::reverse_iterator::operator++ |
( |
| ) |
|
◆ operator=() [1/2]
auto vg::ZipCodeTree::reverse_iterator::operator= |
( |
const reverse_iterator & |
other | ) |
|
◆ operator=() [2/2]
◆ operator==()
auto vg::ZipCodeTree::reverse_iterator::operator== |
( |
const reverse_iterator & |
other | ) |
const |
Compare for equality to see if we hit end (the past-the-left position)
◆ pop()
auto vg::ZipCodeTree::reverse_iterator::pop |
( |
| ) |
|
|
private |
Pop a value from the stack and return it.
◆ push()
auto vg::ZipCodeTree::reverse_iterator::push |
( |
size_t |
value | ) |
|
|
private |
Push a value to the stack.
◆ stack()
std::stack<size_t>& vg::ZipCodeTree::reverse_iterator::stack |
( |
| ) |
|
|
inlineprivate |
Accessor to lazily initialize a stack for the iterator.
◆ state()
auto vg::ZipCodeTree::reverse_iterator::state |
( |
State |
new_state | ) |
|
|
private |
◆ swap()
auto vg::ZipCodeTree::reverse_iterator::swap |
( |
| ) |
|
|
private |
Reverse the top two elements of the stack.
◆ tick()
auto vg::ZipCodeTree::reverse_iterator::tick |
( |
| ) |
|
|
private |
Tick the automaton, looking at the symbol at *it and updating the stack and current_state. Returns true to yield a value at the current symbol, or to halt, and false otherwise.
◆ top()
auto vg::ZipCodeTree::reverse_iterator::top |
( |
| ) |
|
|
private |
Get a mutable reference to the value on top of the stack.
◆ current_state
State vg::ZipCodeTree::reverse_iterator::current_state |
|
private |
Current state of the automaton.
◆ distance_limit
size_t vg::ZipCodeTree::reverse_iterator::distance_limit |
|
private |
Distance limit we will go up to.
◆ it
vector<tree_item_t>::const_reverse_iterator vg::ZipCodeTree::reverse_iterator::it |
|
private |
Where we are in the stored tree.
◆ rend
vector<tree_item_t>::const_reverse_iterator vg::ZipCodeTree::reverse_iterator::rend |
|
private |
Where the rend is where we have to stop.
◆ stack_data
std::unique_ptr<std::stack<size_t> > vg::ZipCodeTree::reverse_iterator::stack_data |
|
private |
Stack for computing distances. Not allocated unless we actually go to use it, so rend() deosn't need to carry one.
The documentation for this class was generated from the following files: