.TH "__gnu_pbds::detail::pat_trie_map< Key, Mapped, Node_And_It_Traits, _Alloc >" 3 "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME __gnu_pbds::detail::pat_trie_map< Key, Mapped, Node_And_It_Traits, _Alloc > \- PATRICIA trie\&. .SH SYNOPSIS .br .PP .PP \fR#include \fP .PP Inherits , and \&. .SS "Public Types" .in +1c .ti -1c .RI "typedef traits_type::access_traits \fBaccess_traits\fP" .br .ti -1c .RI "typedef _Alloc \fBallocator_type\fP" .br .ti -1c .RI "typedef \fBstd::pair\fP< size_type, size_type > \fBcomp_hash\fP" .br .ti -1c .RI "typedef point_const_iterator \fBconst_iterator\fP" .br .ti -1c .RI "typedef traits_base::const_pointer \fBconst_pointer\fP" .br .ti -1c .RI "typedef traits_base::const_reference \fBconst_reference\fP" .br .ti -1c .RI "typedef traits_type::const_reverse_iterator \fBconst_reverse_iterator\fP" .br .ti -1c .RI "typedef \fBpat_trie_tag\fP \fBcontainer_category\fP" .br .ti -1c .RI "typedef _Alloc::difference_type \fBdifference_type\fP" .br .ti -1c .RI "typedef point_iterator \fBiterator\fP" .br .ti -1c .RI "typedef traits_base::key_const_pointer \fBkey_const_pointer\fP" .br .ti -1c .RI "typedef traits_base::key_const_reference \fBkey_const_reference\fP" .br .ti -1c .RI "typedef traits_base::key_pointer \fBkey_pointer\fP" .br .ti -1c .RI "typedef traits_base::key_reference \fBkey_reference\fP" .br .ti -1c .RI "typedef traits_base::key_type \fBkey_type\fP" .br .ti -1c .RI "typedef traits_base::mapped_const_pointer \fBmapped_const_pointer\fP" .br .ti -1c .RI "typedef traits_base::mapped_const_reference \fBmapped_const_reference\fP" .br .ti -1c .RI "typedef traits_base::mapped_pointer \fBmapped_pointer\fP" .br .ti -1c .RI "typedef traits_base::mapped_reference \fBmapped_reference\fP" .br .ti -1c .RI "typedef traits_base::mapped_type \fBmapped_type\fP" .br .ti -1c .RI "typedef __nothrowcopy::indicator \fBno_throw_indicator\fP" .br .ti -1c .RI "typedef traits_type::node_const_iterator \fBnode_const_iterator\fP" .br .ti -1c .RI "typedef traits_type::node_iterator \fBnode_iterator\fP" .br .ti -1c .RI "enum \fBnode_type\fP { \fBi_node\fP, \fBleaf_node\fP, \fBhead_node\fP }" .br .RI "Three types of nodes\&. " .ti -1c .RI "typedef traits_type::node_update \fBnode_update\fP" .br .ti -1c .RI "typedef traits_type::const_iterator \fBpoint_const_iterator\fP" .br .ti -1c .RI "typedef traits_type::iterator \fBpoint_iterator\fP" .br .ti -1c .RI "typedef traits_base::pointer \fBpointer\fP" .br .ti -1c .RI "typedef traits_base::reference \fBreference\fP" .br .ti -1c .RI "typedef traits_type::reverse_iterator \fBreverse_iterator\fP" .br .ti -1c .RI "typedef _Alloc::size_type \fBsize_type\fP" .br .ti -1c .RI "typedef integral_constant< int, Store_Hash > \fBstore_extra\fP" .br .ti -1c .RI "typedef \fBstored_data\fP< \fBvalue_type\fP, size_type, Store_Hash > \fBstored_data_type\fP" .br .ti -1c .RI "typedef \fBtraits_base::value_type\fP \fBvalue_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBpat_trie_map\fP (const access_traits &)" .br .ti -1c .RI "\fBpat_trie_map\fP (const \fBtree_order_statistics_node_update\fP< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > &)" .br .ti -1c .RI "iterator \fBbegin\fP ()" .br .ti -1c .RI "const_iterator \fBbegin\fP () const" .br .ti -1c .RI "void \fBclear\fP ()" .br .ti -1c .RI "bool \fBempty\fP () const" .br .ti -1c .RI "iterator \fBend\fP ()" .br .ti -1c .RI "const_iterator \fBend\fP () const" .br .ti -1c .RI "const_iterator \fBerase\fP (const_iterator)" .br .ti -1c .RI "const_reverse_iterator \fBerase\fP (const_reverse_iterator)" .br .ti -1c .RI "iterator \fBerase\fP (iterator)" .br .ti -1c .RI "bool \fBerase\fP (key_const_reference)" .br .ti -1c .RI "reverse_iterator \fBerase\fP (reverse_iterator)" .br .ti -1c .RI "template size_type \fBerase_if\fP (Pred)" .br .ti -1c .RI "point_iterator \fBfind\fP (key_const_reference)" .br .ti -1c .RI "point_const_iterator \fBfind\fP (key_const_reference) const" .br .ti -1c .RI "access_traits & \fBget_access_traits\fP ()" .br .ti -1c .RI "const access_traits & \fBget_access_traits\fP () const" .br .ti -1c .RI "node_update & \fBget_node_update\fP ()" .br .ti -1c .RI "const node_update & \fBget_node_update\fP () const" .br .ti -1c .RI "\fBstd::pair\fP< point_iterator, bool > \fBinsert\fP (const_reference)" .br .ti -1c .RI "void \fBjoin\fP (\fBtree_order_statistics_node_update\fP< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > &)" .br .ti -1c .RI "point_iterator \fBlower_bound\fP (key_const_reference)" .br .ti -1c .RI "point_const_iterator \fBlower_bound\fP (key_const_reference) const" .br .ti -1c .RI "size_type \fBmax_size\fP () const" .br .ti -1c .RI "node_iterator \fBnode_begin\fP ()" .br .RI "Returns a node_iterator corresponding to the node at the root of the tree\&. " .ti -1c .RI "node_const_iterator \fBnode_begin\fP () const" .br .RI "Returns a const node_iterator corresponding to the node at the root of the tree\&. " .ti -1c .RI "node_iterator \fBnode_end\fP ()" .br .RI "Returns a node_iterator corresponding to a node just after a leaf of the tree\&. " .ti -1c .RI "node_const_iterator \fBnode_end\fP () const" .br .RI "Returns a const node_iterator corresponding to a node just after a leaf of the tree\&. " .ti -1c .RI "mapped_reference \fBoperator[]\fP (key_const_reference r_key)" .br .ti -1c .RI "reverse_iterator \fBrbegin\fP ()" .br .ti -1c .RI "const_reverse_iterator \fBrbegin\fP () const" .br .ti -1c .RI "reverse_iterator \fBrend\fP ()" .br .ti -1c .RI "const_reverse_iterator \fBrend\fP () const" .br .ti -1c .RI "size_type \fBsize\fP () const" .br .ti -1c .RI "void \fBsplit\fP (key_const_reference, \fBtree_order_statistics_node_update\fP< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > &)" .br .ti -1c .RI "void \fBswap\fP (\fBtree_order_statistics_node_update\fP< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > &)" .br .ti -1c .RI "point_iterator \fBupper_bound\fP (key_const_reference)" .br .ti -1c .RI "point_const_iterator \fBupper_bound\fP (key_const_reference) const" .br .in -1c .SS "Public Attributes" .in +1c .ti -1c .RI "no_throw_indicator \fBm_no_throw_copies_indicator\fP" .br .ti -1c .RI "store_extra \fBm_store_extra_indicator\fP" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "template void \fBcopy_from_range\fP (It, It)" .br .ti -1c .RI "node_pointer \fBrecursive_copy_node\fP (node_const_pointer)" .br .ti -1c .RI "void \fBvalue_swap\fP (\fBtree_order_statistics_node_update\fP< Node_CItr, Node_Itr, Cmp_Fn, _Alloc > &)" .br .in -1c .SH "Detailed Description" .PP .SS "template .br class __gnu_pbds::detail::pat_trie_map< Key, Mapped, Node_And_It_Traits, _Alloc >"PATRICIA trie\&. This implementation loosely borrows ideas from: 1) Fast Mergeable Integer Maps, Okasaki, Gill 1998 2) Ptset: Sets of integers implemented as Patricia trees, Jean-Christophe Filliatr, 2000 .SH "Member Enumeration Documentation" .PP .SS "enum \fB__gnu_pbds::detail::pat_trie_base::node_type\fP\fR [inherited]\fP" .PP Three types of nodes\&. i_node is used by _Inode, leaf_node by _Leaf, and head_node by _Head\&. .SH "Member Function Documentation" .PP .SS "template node_iterator \fB__gnu_pbds::detail::pat_trie_map\fP< Key, Mapped, Node_And_It_Traits, _Alloc >::node_begin ()\fR [inline]\fP" .PP Returns a node_iterator corresponding to the node at the root of the tree\&. .SS "template node_const_iterator \fB__gnu_pbds::detail::pat_trie_map\fP< Key, Mapped, Node_And_It_Traits, _Alloc >::node_begin () const\fR [inline]\fP" .PP Returns a const node_iterator corresponding to the node at the root of the tree\&. .SS "template node_iterator \fB__gnu_pbds::detail::pat_trie_map\fP< Key, Mapped, Node_And_It_Traits, _Alloc >::node_end ()\fR [inline]\fP" .PP Returns a node_iterator corresponding to a node just after a leaf of the tree\&. .SS "template node_const_iterator \fB__gnu_pbds::detail::pat_trie_map\fP< Key, Mapped, Node_And_It_Traits, _Alloc >::node_end () const\fR [inline]\fP" .PP Returns a const node_iterator corresponding to a node just after a leaf of the tree\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.