__gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc > Class Template Reference

`#include <pat_trie_base.hpp>`

Inheritance diagram for __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >:
[legend]

## Public Types

typedef _Alloc::template rebind< metadata_type > | __rebind_m
typedef __rebind_m::other | __rebind_ma
typedef value_type | const_reference
typedef trivial_iterator_difference_type | difference_type
typedef trivial_iterator_tag | iterator_category
typedef __rebind_ma::const_reference | metadata_const_reference
typedef Node::metadata_type | metadata_type
typedef value_type | reference
typedef base_type::size_type | size_type
typedef Iterator | value_type

## Public Member Functions

| _Node_iter (node_pointer p_nd=0, a_const_pointer p_traits=0)
_Node_iter | get_child (size_type i) const
metadata_const_reference | get_metadata () const
size_type | num_children () const
bool | operator!= (const _Node_citer &other) const
reference | operator* () const
bool | operator== (const _Node_citer &other) const
std::pair< a_const_iterator, a_const_iterator > | valid_prefix () const

## Public Attributes

node_pointer | m_p_nd
a_const_pointer | m_p_traits

## Protected Types

typedef _Alloc::template rebind< Inode > | __rebind_in
typedef _Alloc::template rebind< Leaf > | __rebind_l
typedef Node::a_const_iterator | a_const_iterator
typedef __rebind_in::other::const_pointer | inode_const_pointer
typedef __rebind_l::other::const_pointer | leaf_const_pointer
typedef __rebind_l::other::pointer | leaf_pointer

## Detailed Description

template<typename Node, typename Leaf, typename Head, typename Inode, typename _CIterator, typename Iterator, typename _Alloc>
class __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >

Node iterator.

Definition at line 943 of file pat_trie_base.hpp.

## Member Typedef Documentation

## __rebind_in

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef _Alloc::template rebind<Inode> __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::__rebind_in

protected inherited

Definition at line 824 of file pat_trie_base.hpp.

## __rebind_l

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef _Alloc::template rebind<Leaf> __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::__rebind_l

protected inherited

Definition at line 820 of file pat_trie_base.hpp.

## __rebind_m

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef _Alloc::template rebind<metadata_type> __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::__rebind_m

inherited

Const metadata reference type.

Definition at line 869 of file pat_trie_base.hpp.

## __rebind_ma

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef __rebind_m::other __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::__rebind_ma

inherited

Definition at line 870 of file pat_trie_base.hpp.

## a_const_iterator

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef Node::a_const_iterator __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::a_const_iterator

protected inherited

Definition at line 829 of file pat_trie_base.hpp.

## const_reference

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef value_type __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::const_reference

Definition at line 960 of file pat_trie_base.hpp.

## difference_type

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef trivial_iterator_difference_type __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::difference_type

inherited

Definition at line 858 of file pat_trie_base.hpp.

## inode_const_pointer

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef __rebind_in::other::const_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::inode_const_pointer

protected inherited

Definition at line 826 of file pat_trie_base.hpp.

## iterator_category

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef trivial_iterator_tag __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::iterator_category

inherited

Definition at line 857 of file pat_trie_base.hpp.

## leaf_const_pointer

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef __rebind_l::other::const_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::leaf_const_pointer

protected inherited

Definition at line 822 of file pat_trie_base.hpp.

## leaf_pointer

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef __rebind_l::other::pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::leaf_pointer

protected inherited

Definition at line 821 of file pat_trie_base.hpp.

## metadata_const_reference

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef __rebind_ma::const_reference __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::metadata_const_reference

inherited

Definition at line 871 of file pat_trie_base.hpp.

## metadata_type

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef Node::metadata_type __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::metadata_type

inherited

Metadata type.

Definition at line 866 of file pat_trie_base.hpp.

## reference

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef value_type __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::reference

Definition at line 959 of file pat_trie_base.hpp.

## size_type

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef base_type::size_type __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::size_type

Definition at line 956 of file pat_trie_base.hpp.

## value_type

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

typedef Iterator __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::value_type

Definition at line 958 of file pat_trie_base.hpp.

## Constructor & Destructor Documentation

## _Node_iter()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

__gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::_Node_iter | ( | node_pointer | p_nd = `0`,
|  | a_const_pointer | p_traits = `0`
| ) |  |

inline

Definition at line 962 of file pat_trie_base.hpp.

## Member Function Documentation

## get_child()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

_Node_iter __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::get_child | ( | size_type | i | ) | const

inline

Returns a node __iterator to the corresponding node's i-th child.

Definition at line 976 of file pat_trie_base.hpp.

References std::advance().

## get_metadata()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

metadata_const_reference __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::get_metadata | ( |  | ) | const

inline inherited

Metadata access.

Definition at line 894 of file pat_trie_base.hpp.

## num_children()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

size_type __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::num_children | ( |  | ) | const

inline inherited

Returns the number of children in the corresponding node.

Definition at line 899 of file pat_trie_base.hpp.

References std::distance().

Referenced by __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator*(), and __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator*().

## operator!=()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

bool __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator!= | ( | const _Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc > & | other | ) | const

inline inherited

Compares content (negatively) to a different iterator object.

Definition at line 927 of file pat_trie_base.hpp.

## operator*()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

reference __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator* | ( |  | ) | const

inline

Access; returns the iterator* associated with the current leaf.

Definition at line 968 of file pat_trie_base.hpp.

References __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::num_children().

## operator==()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

bool __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator== | ( | const _Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc > & | other | ) | const

inline inherited

Compares content to a different iterator object.

Definition at line 922 of file pat_trie_base.hpp.

## valid_prefix()

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

std::pair< a_const_iterator, a_const_iterator > __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::valid_prefix | ( |  | ) | const

inline inherited

Subtree valid prefix.

Definition at line 880 of file pat_trie_base.hpp.

References std::make_pair().

## Member Data Documentation

## m_p_nd

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

node_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::m_p_nd

inherited

Definition at line 930 of file pat_trie_base.hpp.

## m_p_traits

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >

a_const_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::m_p_traits

inherited

Definition at line 931 of file pat_trie_base.hpp.

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

- pat_trie_base.hpp