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

libstdc++

__gnu_pbds::detail::pat_trie_base::_Node_citer< 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_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >:
[legend]

## Public Types
typedef value_type | const_reference
typedef trivial_iterator_difference_type | difference_type
typedef trivial_iterator_tag | iterator_category
typedef rebind_traits< _Alloc, metadata_type >::const_reference | metadata_const_reference
typedef Node::metadata_type | metadata_type
typedef value_type | reference
typedef _Alloc::size_type | size_type
typedef _CIterator | value_type

## Public Member Functions
| _Node_citer (node_pointer p_nd=0, a_const_pointer p_traits=0)
_Node_citer | get_child (size_type i) const
metadata_const_reference | get_metadata () const
size_type | num_children () const
bool | operator!= (const _Node_citer &other) const
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 Node::a_const_iterator | a_const_iterator
typedef Node::a_const_pointer | a_const_pointer
typedef rebind_traits< _Alloc, Inode >::const_pointer | inode_const_pointer
typedef rebind_traits< _Alloc, Inode >::pointer | inode_pointer
typedef rebind_traits< _Alloc, Leaf >::const_pointer | leaf_const_pointer
typedef rebind_traits< _Alloc, Leaf >::pointer | leaf_pointer
typedef rebind_traits< _Alloc, Node >::pointer | node_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_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >

Node const iterator.

Definition at line 810 of file pat_trie_base.hpp.

## Member Typedef Documentation

## ◆ 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

Definition at line 822 of file pat_trie_base.hpp.

## ◆ a_const_pointer

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

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

Definition at line 821 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_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::const_reference

Definition at line 856 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

Definition at line 851 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_traits<_Alloc,Inode>::const_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::inode_const_pointer
| protected

Definition at line 819 of file pat_trie_base.hpp.

## ◆ inode_pointer

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

typedef rebind_traits<_Alloc,Inode>::pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::inode_pointer
| protected

Definition at line 818 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

Definition at line 850 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_traits<_Alloc,Leaf>::const_pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::leaf_const_pointer
| protected

Definition at line 816 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_traits<_Alloc,Leaf>::pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::leaf_pointer
| protected

Definition at line 815 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_traits<_Alloc,metadata_type>::const_reference __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::metadata_const_reference

Const metadata reference type.

Definition at line 862 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

Metadata type.

Definition at line 859 of file pat_trie_base.hpp.

## ◆ node_pointer

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

typedef rebind_traits<_Alloc,Node>::pointer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::node_pointer
| protected

Definition at line 813 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_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::reference

Definition at line 855 of file pat_trie_base.hpp.

## ◆ size_type

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

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

Definition at line 852 of file pat_trie_base.hpp.

## ◆ value_type

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

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

Definition at line 854 of file pat_trie_base.hpp.

## Constructor & Destructor Documentation

## ◆ _Node_citer()

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

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

Definition at line 865 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_citer __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::get_child | ( | size_type | i | ) | const
| inline

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

Definition at line 902 of file pat_trie_base.hpp.

## ◆ 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

Metadata access.

Definition at line 885 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

Returns the number of children in the corresponding node.

Definition at line 890 of file pat_trie_base.hpp.

Referenced by __gnu_pbds::detail::pat_trie_base::_Node_citer< node, leaf, head, inode, const_iterator, 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

Compares content (negatively) to a different iterator object.

Definition at line 918 of file pat_trie_base.hpp.

## ◆ operator*()

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

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

Const access; returns the __const iterator* associated with the current leaf.

Definition at line 877 of file pat_trie_base.hpp.

## ◆ 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

Compares content to a different iterator object.

Definition at line 913 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

Subtree valid prefix.

Definition at line 871 of file pat_trie_base.hpp.

## 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

Definition at line 921 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

Definition at line 922 of file pat_trie_base.hpp.

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

- pat_trie_base.hpp