libstdc++
__gnu_pbds::detail::pat_trie_base::_Node_iter< 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_iter< 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 base_type::size_type size_type
 
typedef Iterator value_type
 

Public Member Functions

 _Node_iter (node_pointer p_nd=0, a_const_pointer p_traits=0)
 
_Node_iter get_child (size_type i) const
 
metadata_const_reference get_metadata () const
 
size_type num_children () const
 
bool operator!= (const _Node_citer &other) 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 rebind_traits< _Alloc, Inode >::const_pointer inode_const_pointer
 
typedef rebind_traits< _Alloc, Leaf >::const_pointer leaf_const_pointer
 
typedef rebind_traits< _Alloc, Leaf >::pointer leaf_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_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >

Node iterator.

Definition at line 934 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
protectedinherited

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

Definition at line 950 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
inherited

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
protectedinherited

Definition at line 819 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
inherited

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
protectedinherited

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
protectedinherited

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
inherited

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
inherited

Metadata type.

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

Definition at line 949 of file pat_trie_base.hpp.

◆ size_type

template<typename Node , typename Leaf , typename Head , typename Inode , typename _CIterator , typename Iterator , typename _Alloc >
typedef base_type::size_type __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::size_type

Definition at line 946 of file pat_trie_base.hpp.

◆ value_type

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

Definition at line 948 of file pat_trie_base.hpp.

Constructor & Destructor Documentation

◆ _Node_iter()

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

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

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

Definition at line 966 of file pat_trie_base.hpp.

References std::advance().

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

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
inlineinherited

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

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 >
reference __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator* ( ) const
inline

Access; returns the iterator* associated with the current leaf.

Definition at line 958 of file pat_trie_base.hpp.

References __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::num_children().

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

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
inlineinherited

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
inherited

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
inherited

Definition at line 922 of file pat_trie_base.hpp.


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