__gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >(3cxx)

NAME
__gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc > - Node iterator.

SYNOPSIS

#include <pat_trie_base.hpp>

Inherits __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >.

  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
Const metadata reference type.
typedef Node::metadata_type 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
Returns a node __iterator to the corresponding node's i-th child.
metadata_const_reference get_metadata () const
Metadata access.
size_type num_children () const
Returns the number of children in the corresponding node.
bool operator!= (const _Node_citer &other) const
Compares content (negatively) to a different iterator object.
reference operator* () const
Access; returns the iterator* associated with the current leaf.
bool operator== (const _Node_citer &other) const
Compares content to a different iterator object.
std::pair< a_const_iterator, a_const_iterator > valid_prefix () const
Subtree valid prefix.

  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.

Member Typedef Documentation

  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.

  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.

Member Function Documentation

  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.

References std::advance().

  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 [inline], [inherited]

Metadata access.

  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 [inline], [inherited]

Returns the number of children in the corresponding node.

References std::distance().

Referenced by __gnu_pbds::detail::pat_trie_base::_Node_citer< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::operator*(), and __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator, _Alloc >::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 [inline], [inherited]

Compares content (negatively) to a different iterator object.

  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.

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

  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 [inline], [inherited]

Compares content to a different iterator object.

  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 [inline], [inherited]

Subtree valid prefix.

Author

Generated automatically by Doxygen for libstdc++ from the source code.