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