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
 
_CIteroperator++ ()
 
_CIter operator++ (int)
 
_CIteroperator-- ()
 
_CIter operator-- (int)
 
const_pointer operator-> () const
 
_CIteroperator= (const _CIter &other)
 
_CIteroperator= (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>
static 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>
static 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>
static 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>
static 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: