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
 
_Iteroperator++ ()
 
_Iter operator++ (int)
 
_Iteroperator-- ()
 
_Iter operator-- (int)
 
pointer operator-> () const
 
_Iteroperator= (const _Iter &other)
 
_Iteroperator= (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>
static 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>
static 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>
static 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>
static 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: