__gnu_pbds::detail::pat_trie_base__Node_iter.3cxx
Contents
Detailed Description
template<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,typename_Alloc>
class __gnu_pbds::detail::pat_trie_base::_Node_iter< Node, Leaf, Head, Inode, _CIterator, Iterator,
_Alloc >"Node iterator.
Member Function Documentation
template<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,typename_Alloc>_Node_iter__gnu_pbds::detail::pat_trie_base::_Node_iter<Node,Leaf,Head,Inode,_CIterator,Iterator,_Alloc>::get_child(size_typei)const[inline]
Returns a node __iterator to the corresponding node's i-th child.
References std::advance().
template<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,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.
Member Typedef Documentation
template<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,typename_Alloc>typedefrebind_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<typenameNode,typenameLeaf,typenameHead,typenameInode,typename_CIterator,typenameIterator,typename_Alloc>typedefNode::metadata_type__gnu_pbds::detail::pat_trie_base::_Node_citer<Node,Leaf,Head,Inode,_CIterator,Iterator,_Alloc>::metadata_type[inherited]
Metadata type.
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>.
PublicTypes
typedef value_type const_reference
typedef trivial_iterator_difference_typedifference_type
typedef trivial_iterator_tagiterator_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_typePublicMemberFunctions_Node_iter (node_pointer p_nd=0, a_const_pointer p_traits=0)
_Node_iterget_child (size_type i) const
Returns a node __iterator to the corresponding node's i-th child.
metadata_const_referenceget_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.
PublicAttributes
node_pointer m_p_nd
a_const_pointer m_p_traitsProtectedTypes
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