liborigin 2.0.0

Public Member Functions | Private Attributes | List of all members
tree< T, tree_node_allocator >::breadth_first_queued_iterator Class Reference

Breadth-first iterator, using a queue. More...

`#include <tree.hh>`

Inheritance diagram for tree< T, tree_node_allocator >::breadth_first_queued_iterator:

## Public Member Functions
| breadth_first_queued_iterator ()
| breadth_first_queued_iterator (const iterator_base &)
| breadth_first_queued_iterator (tree_node *)
bool | operator!= (const breadth_first_queued_iterator &) const
breadth_first_queued_iterator & | operator++ ()
breadth_first_queued_iterator | operator++ (int)
breadth_first_queued_iterator & | operator+= (unsigned int)
bool | operator== (const breadth_first_queued_iterator &) const
Public Member Functions inherited from tree< T, tree_node_allocator >::iterator_base
sibling_iterator | begin () const
sibling_iterator | end () const
| iterator_base ()
| iterator_base (tree_node *)
unsigned int | number_of_children () const
| Number of children of the node pointed to by the iterator. More...
T & | operator* () const
T * | operator-> () const
void | skip_children ()
| When called, the next increment/decrement skips children of this node. More...

## Private Attributes
std::queue< tree_node * > | traversal_queue

## Additional Inherited Members
Public Types inherited from tree< T, tree_node_allocator >::iterator_base
typedef ptrdiff_t | difference_type
typedef std::bidirectional_iterator_tag | iterator_category
typedef T * | pointer
typedef T & | reference
typedef size_t | size_type
typedef T | value_type
Public Attributes inherited from tree< T, tree_node_allocator >::iterator_base
tree_node * | node
Protected Attributes inherited from tree< T, tree_node_allocator >::iterator_base
bool | skip_current_children_

## Detailed Description

template<class T, class tree_node_allocator = std::allocator<tree_node_<T> >>
class tree< T, tree_node_allocator >::breadth_first_queued_iterator

Breadth-first iterator, using a queue.

## Constructor & Destructor Documentation

## ◆ breadth_first_queued_iterator() [1/3]

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator

## ◆ breadth_first_queued_iterator() [2/3]

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator | ( | tree_node * | tn | ) |

References tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue.

## ◆ breadth_first_queued_iterator() [3/3]

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator | ( | const iterator_base & | other | ) |

References tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue.

## Member Function Documentation

## ◆ operator!=()

template<class T , class tree_node_allocator >

bool tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator!= | ( | const breadth_first_queued_iterator & | other | ) | const

References tree< T, tree_node_allocator >::iterator_base::node.

## ◆ operator++() [1/2]

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator & tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator++

References tree< T, tree_node_allocator >::begin(), tree< T, tree_node_allocator >::end(), and tree< T, tree_node_allocator >::iterator_base::node.

## ◆ operator++() [2/2]

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator++ | ( | int | n | ) |

## ◆ operator+=()

template<class T , class tree_node_allocator >

tree< T, tree_node_allocator >::breadth_first_queued_iterator & tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator+= | ( | unsigned int | num | ) |

## ◆ operator==()

template<class T , class tree_node_allocator >

bool tree< T, tree_node_allocator >::breadth_first_queued_iterator::operator== | ( | const breadth_first_queued_iterator & | other | ) | const

References tree< T, tree_node_allocator >::iterator_base::node.

## Member Data Documentation

## ◆ traversal_queue

template<class T , class tree_node_allocator = std::allocator<tree_node_<T> >>

std::queue<tree_node *> tree< T, tree_node_allocator >::breadth_first_queued_iterator::traversal_queue
| private

Referenced by tree< T, tree_node_allocator >::breadth_first_queued_iterator::breadth_first_queued_iterator().

The documentation for this class was generated from the following file:

- /tmp/slackdce/slackrepo.5NA6jZ/build_liborigin/liborigin/tree.hh