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

libstdc++

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

`#include <pat_trie_base.hpp>`

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

## Public Types
typedef allocator_type | _Alloc
typedef Node::allocator_type | allocator_type
typedef type_traits::const_pointer | const_pointer
typedef type_traits::const_reference | const_reference
typedef allocator_type::difference_type | difference_type
typedef rebind_traits< _Alloc, Head >::pointer | head_pointer
typedef Inode::iterator | inode_iterator
typedef rebind_traits< _Alloc, Inode >::pointer | inode_pointer
typedef std::bidirectional_iterator_tag | iterator_category
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
typedef type_traits::pointer | pointer
typedef type_traits::reference | reference
typedef Node::type_traits | type_traits
typedef type_traits::value_type | value_type

## Public Member Functions
| _CIter (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other)
| _CIter (node_pointer p_nd=0)
bool | operator!= (const _CIter &other) const
bool | operator!= (const _CIter< Node, Leaf, Head, Inode, !Is_Forward_Iterator > &other) const
const_reference | operator* () const
_CIter & | operator++ ()
_CIter | operator++ (int)
_CIter & | operator-- ()
_CIter | operator-- (int)
const_pointer | operator-> () const
_CIter & | operator= (const _CIter &other)
_CIter & | operator= (const _CIter< 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::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >

Const iterator.

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

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 Node::allocator_type __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::allocator_type

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

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

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

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 rebind_traits<_Alloc,Head>::pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::head_pointer

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

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 rebind_traits<_Alloc,Inode>::pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::inode_pointer

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

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 rebind_traits<_Alloc,Leaf>::const_pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::leaf_const_pointer

Definition at line 505 of file pat_trie_base.hpp.

## ◆ leaf_pointer

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

typedef rebind_traits<_Alloc,Leaf>::pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::leaf_pointer

Definition at line 504 of file pat_trie_base.hpp.

## ◆ node_pointer

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

typedef rebind_traits<_Alloc,Node>::pointer __gnu_pbds::detail::pat_trie_base::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::node_pointer

Definition at line 503 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::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::pointer

Definition at line 497 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::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::reference

Definition at line 498 of file pat_trie_base.hpp.

## ◆ type_traits

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

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

Definition at line 492 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::_CIter< Node, Leaf, Head, Inode, Is_Forward_Iterator >::value_type

Definition at line 496 of file pat_trie_base.hpp.

## Constructor & Destructor Documentation

## ◆ _CIter() [1/2]

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

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

Definition at line 513 of file pat_trie_base.hpp.

## ◆ _CIter() [2/2]

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

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

Definition at line 516 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 |  | ) |
| inlineprotected

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 |  | ) |
| inlineprotected

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 | ) |
| inlinestaticprotected

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 | ) |
| inlinestaticprotected

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 |  | ) |
| inlineprotected

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 |  | ) |
| inlineprotected

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 | ) |
| inlinestaticprotected

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

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

Definition at line 561 of file pat_trie_base.hpp.

## ◆ operator*()

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

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

Definition at line 542 of file pat_trie_base.hpp.

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

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

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

Definition at line 565 of file pat_trie_base.hpp.

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

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

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

Definition at line 572 of file pat_trie_base.hpp.

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

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

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

Definition at line 580 of file pat_trie_base.hpp.

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

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

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

Definition at line 587 of file pat_trie_base.hpp.

## ◆ operator->()

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

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

Definition at line 535 of file pat_trie_base.hpp.

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

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

_CIter & __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 | ) |
| inline

Definition at line 521 of file pat_trie_base.hpp.

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

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

_CIter & __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 | ) |
| inline

Definition at line 528 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
| inline

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

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 | ) |
| inlinestaticprotected

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

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