Interface Specifics
Following are the library's interface specifics. Short Tutorial is a short tutorial, and
Concepts describes some
concepts.
All code is enclosed in namespace pb_ds. Nested within
this is namespace detail, which contains the parts of this
library that are considered implementation details.
- container_base -
abstract base class for associative containers.
- Hash-based:
- basic_hash_table
- abstract base class for hash-based
containers
- cc_hash_table
- concrete collision-chaining hash-based
containers
- gp_hash_table
- concrete (general) probing hash-based
containers
- Tree-based:
- basic_tree
- abstract base class for tree and trie based
containers
- tree
- concrete base class for tree-based
containers
- trie
- concrete base class for trie-based
containers
- List-based:
- list_update -
singly-linked list with update-policy container
- priority_queue
- priority queue
- container_tag -
base class for data structure tags
- associative_container_tag -
base class for associative-container data structure tags
- basic_hash_tag -
base class for hash-based structure tags
- cc_hash_tag
- collision-chaining hash structure tag
- gp_hash_tag
- (general) probing hash structure tag
- basic_tree_tag
- base class for tree-like structure tags
- tree_tag -
base class for tree structure tags
- rb_tree_tag
- red-black tree structure tag/li>
- splay_tree_tag -
splay tree structure tag
- ov_tree_tag
- ordered-vector tree structure tag
- trie_tag -
trie structure tag
- pat_trie_tag -
PATRICIA trie structure tag
- list_update_tag - list
(with updates) structure tag
- priority_queue_tag - base
class for priority-queue data structure tags
- pairing_heap_tag -
pairing-heap structure tag.
- binomial_heap_tag
- binomial-heap structure tag
- rc_binomial_heap_tag
- redundant-counter binomial-heap (i.e., a heap where
binomial trees form a sequence that is similar to a
de-amortized bit-addition algorithm) structure tag
- binary_heap_tag -
binary heap (based on an array or an array of nodes)
structure tag
- thin_heap_tag - thin
heap (an alternative [kt99fat_heaps] to
Fibonacci heap) data structure tag.
- basic_invalidation_guarantee
- weakest invalidation guarantee
- point_invalidation_guarantee
- stronger invalidation guarantee
- range_invalidation_guarantee
- strongest invalidation guarantee
- container_traits -
traits for determining underlying data structure
properties
Hash and Probe Policies
- Hash Functions:
- null_hash_fn
- type indicating one-step range-hashing
- Range-Hashing Functions:
- Sample
range-hashing function - interface required of a
range-hashing functor
- direct_mask_range_hashing
- (bit) mask-based range hashing functor
- direct_mod_range_hashing
- modulo-based range hashing functor
- Probe Functions:
- Sample probe
function - interface required of a probe functor
- null_probe_fn - type
indicating one-step ranged-probe
- linear_probe_fn -
linear-probe functor
- quadratic_probe_fn-
quadratic-probe functor
- Ranged-Hash Functions:
- Sample
ranged-hash function - interface required of a
ranged-hash functor
- Ranged-Probe Functions:
- Sample
ranged-probe function - interface required of a
ranged-probe functor
Resize Policies
- Resize Policies:
- Sample resize
policy - interface required of a resize policy
- hash_standard_resize_policy
- standard resize policy
- Size Policies:
- Sample size
policy - interface required of a size policy
- hash_exponential_size_policy
- exponential size policy (typically used with (bit) mask
range-hashing)
- hash_prime_size_policy
- prime size policy (typically used with modulo
range-hashing)
- Trigger Policies:
- Sample trigger
policy - interface required of a trigger policy
- hash_load_check_resize_trigger
- trigger policy based on load checks
- cc_hash_max_collision_check_resize_trigger
- trigger policy based on collision checks
Tree Node-Update Policies
- Sample node
updater policy - interface required of a tree
node-updating functor
- null_tree_node_update
- null policy indicating no updates are required
- tree_order_statistics_node_update
- updater enabling order statistics queries
Trie Element-Access Traits
- Sample
element-access traits - interface required of
element-access traits
- string_trie_e_access_traits
- String element-access traits
Trie Node-Update Policies
- Sample node
updater policy - interface required of a trie node
updater
- null_trie_node_update
- null policy indicating no updates are required
- trie_prefix_search_node_update
- updater enabling prefix searches
- trie_order_statistics_node_update
- updater enabling order statistics queries
List Update Policies
- Sample list update
policy - interface required of a list update policy
- move_to_front_lu_policy
- move-to-front update algorithm
- counter_lu_policy -
counter update algorithm
- null_mapped_type - data
policy indicating that a container is a "set"
- container_error
- base class for all policy-based data structure errors
- insert_error
- join_error
- resize_error