libstdc++: __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator > Class Template Reference

libstdc++

__gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator > Class Template Reference

`#include <pat_trie_base.hpp>`

Inheritance diagram for __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >:
[legend]

## Public Types
typedef allocator_type | _Alloc
typedef base_type::allocator_type | allocator_type
typedef _CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator > | base_type
typedef type_traits::const_pointer | const_pointer
typedef type_traits::const_reference | const_reference
typedef allocator_type::difference_type | difference_type
typedef base_type::head_pointer | head_pointer
typedef Inode::iterator | inode_iterator
typedef base_type::inode_pointer | inode_pointer
typedef std::bidirectional_iterator_tag | iterator_category
typedef base_type::leaf_const_pointer | leaf_const_pointer
typedef base_type::leaf_pointer | leaf_pointer
typedef base_type::node_pointer | node_pointer
typedef type_traits::pointer | pointer
typedef type_traits::reference | reference
typedef base_type::type_traits | type_traits
typedef type_traits::value_type | value_type

## Public Member Functions
| _Iter (const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other)
| _Iter (node_pointer p_nd=0)
bool | operator!= (const _CIter &other) const
bool | operator!= (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) const
reference | operator* () const
_Iter & | operator++ ()
_Iter | operator++ (int)
_Iter & | operator-- ()
_Iter | operator-- (int)
pointer | operator-> () const
_Iter & | operator= (const _Iter &other)
_Iter & | operator= (const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other)
bool | operator== (const _CIter &other) const
bool | operator== (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) const

## Public Attributes
node_pointer | m_p_nd

## Protected Member Functions
void | dec (false_type)
void | dec (true_type)
void | inc (false_type)
void | inc (true_type)

## Static Protected Member Functions
static node_pointer | get_larger_sibling (node_pointer p_nd)
static node_pointer | get_smaller_sibling (node_pointer p_nd)
static leaf_pointer | leftmost_descendant (node_pointer p_nd)
static leaf_pointer | rightmost_descendant (node_pointer p_nd)

## Detailed Description

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>
class __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >

Iterator.

Definition at line 709 of file pat_trie_base.hpp.

## Member Typedef Documentation

## ◆ _Alloc

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef allocator_type __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::_Alloc
| inherited

Definition at line 502 of file pat_trie_base.hpp.

## ◆ allocator_type

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::allocator_type __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::allocator_type

Definition at line 715 of file pat_trie_base.hpp.

## ◆ base_type

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef _CIter<Node, Leaf, Head, Inode, Is_Forward_Iterator> __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::base_type

Definition at line 714 of file pat_trie_base.hpp.

## ◆ const_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef type_traits::const_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::const_pointer
| inherited

Definition at line 499 of file pat_trie_base.hpp.

## ◆ const_reference

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef type_traits::const_reference __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::const_reference
| inherited

Definition at line 500 of file pat_trie_base.hpp.

## ◆ difference_type

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef allocator_type::difference_type __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::difference_type
| inherited

Definition at line 495 of file pat_trie_base.hpp.

## ◆ head_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::head_pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::head_pointer

Definition at line 724 of file pat_trie_base.hpp.

## ◆ inode_iterator

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef Inode::iterator __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::inode_iterator
| inherited

Definition at line 509 of file pat_trie_base.hpp.

## ◆ inode_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::inode_pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::inode_pointer

Definition at line 725 of file pat_trie_base.hpp.

## ◆ iterator_category

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef std::bidirectional_iterator_tag __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::iterator_category
| inherited

Definition at line 494 of file pat_trie_base.hpp.

## ◆ leaf_const_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::leaf_const_pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::leaf_const_pointer

Definition at line 723 of file pat_trie_base.hpp.

## ◆ leaf_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::leaf_pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::leaf_pointer

Definition at line 722 of file pat_trie_base.hpp.

## ◆ node_pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::node_pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::node_pointer

Definition at line 721 of file pat_trie_base.hpp.

## ◆ pointer

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef type_traits::pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::pointer

Definition at line 718 of file pat_trie_base.hpp.

## ◆ reference

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef type_traits::reference __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::reference

Definition at line 719 of file pat_trie_base.hpp.

## ◆ type_traits

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef base_type::type_traits __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::type_traits

Definition at line 716 of file pat_trie_base.hpp.

## ◆ value_type

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

typedef type_traits::value_type __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::value_type

Definition at line 717 of file pat_trie_base.hpp.

## Constructor & Destructor Documentation

## ◆ _Iter() [1/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

__gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::_Iter | ( | node_pointer | p_nd = 0 | ) |
| inline

Definition at line 727 of file pat_trie_base.hpp.

## ◆ _Iter() [2/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

__gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::_Iter | ( | const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > & | other | ) |
| inline

Definition at line 730 of file pat_trie_base.hpp.

## Member Function Documentation

## ◆ dec() [1/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

void __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::dec | ( | false_type |  | ) |
| inlineprotectedinherited

Definition at line 624 of file pat_trie_base.hpp.

## ◆ dec() [2/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

void __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::dec | ( | true_type |  | ) |
| inlineprotectedinherited

Definition at line 628 of file pat_trie_base.hpp.

## ◆ get_larger_sibling()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

node_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::get_larger_sibling | ( | node_pointer | p_nd | ) |
| inlinestaticprotectedinherited

Definition at line 652 of file pat_trie_base.hpp.

## ◆ get_smaller_sibling()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

node_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::get_smaller_sibling | ( | node_pointer | p_nd | ) |
| inlinestaticprotectedinherited

Definition at line 666 of file pat_trie_base.hpp.

## ◆ inc() [1/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

void __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::inc | ( | false_type |  | ) |
| inlineprotectedinherited

Definition at line 596 of file pat_trie_base.hpp.

## ◆ inc() [2/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

void __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::inc | ( | true_type |  | ) |
| inlineprotectedinherited

Definition at line 600 of file pat_trie_base.hpp.

## ◆ leftmost_descendant()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

leaf_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::leftmost_descendant | ( | node_pointer | p_nd | ) |
| inlinestaticprotectedinherited

Definition at line 689 of file pat_trie_base.hpp.

## ◆ operator!=() [1/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

bool __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator!= | ( | const _CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator > & | other | ) | const
| inlineinherited

Definition at line 557 of file pat_trie_base.hpp.

## ◆ operator!=() [2/2]

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

bool __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator!= | ( | const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > & | other | ) | const
| inlineinherited

Definition at line 561 of file pat_trie_base.hpp.

## ◆ operator*()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

reference __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator* | ( |  | ) | const
| inline

Definition at line 755 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter & __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator++ | ( |  | ) |
| inline

Definition at line 762 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator++ | ( | int |  | ) |
| inline

Definition at line 769 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter & __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator-- | ( |  | ) |
| inline

Definition at line 777 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator-- | ( | int |  | ) |
| inline

Definition at line 784 of file pat_trie_base.hpp.

## ◆ operator->()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

pointer __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator-> | ( |  | ) | const
| inline

Definition at line 748 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter & __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator= | ( | const _Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator > & | other | ) |
| inline

Definition at line 734 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

_Iter & __gnu_pbds::detail::pat_trie_base::_Iter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator= | ( | const _Iter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > & | other | ) |
| inline

Definition at line 741 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

bool __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator== | ( | const _CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator > & | other | ) | const
| inlineinherited

Definition at line 549 of file pat_trie_base.hpp.

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

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

bool __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::operator== | ( | const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > & | other | ) | const
| inlineinherited

Definition at line 553 of file pat_trie_base.hpp.

## ◆ rightmost_descendant()

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

leaf_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::rightmost_descendant | ( | node_pointer | p_nd | ) |
| inlinestaticprotectedinherited

Definition at line 697 of file pat_trie_base.hpp.

## Member Data Documentation

## ◆ m_p_nd

template<typename Node, typename Leaf, typename Head, typename Inode, bool Is_Forward_Iterator>

node_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::m_p_nd
| inherited

Definition at line 511 of file pat_trie_base.hpp.

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

- pat_trie_base.hpp