Interface

Following is the library's interface:

  1. Short Tutorial is a short tutorial.
  2. Containers describes the containers of the library.
  3. Data-Type Policies describes data-type policies.
  4. Data-Structure Tags and Traits describes tags and traits identifying the underlying data-structure and its behaviour.
  5. Mapping-Semantics Tags and Traits describes tags and traits identifying the mapping-semantics.
  6. Data-Structure Policy Classes describes policies for configuring underlying data-structures.
  7. Exceptions Subsection desribes exception classes.

Containers

Overview and Data-Structure Genericity discuss relevant design points.

no image
class hierarchy.
  1. Basic Associative-Containers:
    1. basic_assoc_cntnr - basic associative-container for the "map" case
    2. basic_assoc_cntnr - basic associative-container for the "set" case
    3. basic_assoc_cntnr - basic associative-container for the "multimap" case
  2. Hash-Based Associative-Containers:
    1. basic_hash_assoc_cntnr - basic hash-based associative-container
    2. cc_hash_assoc_cntnr - collision-chaining hash-based associative-container
    3. gp_hash_assoc_cntnr - (general) probing hash-based associative-container
  3. Tree-Based Associative-Containers:
    1. basic_tree_assoc_cntnr - basic tree-based associative-container
    2. basic_tree_assoc_cntnr - basic tree-based associative-container with reverse iteration
    3. tree_assoc_cntnr - tree-based associative-container
  4. List-Based Associative-Contaiers:
    1. lu_assoc_cntnr - list-based update-policy associative container

Data-Type Policies

Overview and Mapping-Semantic Genericity discuss relevant design points.

  1. null_data_type
  2. compound_data_type

Data-Structure Tags and Traits

Data-Structure Tags

no image
Data-Structure Tag class hierarchy.
  1. basic_ds_tag
  2. basic_hash_ds_tag
  3. cc_hash_ds_tag
  4. gp_hash_ds_tag
  5. basic_tree_ds_tag
  6. rb_tree_ds_tag
  7. splay_tree_ds_tag
  8. ov_tree_ds_tag
  9. lu_ds_tag
  10. compound_ds_tag

Invalidation-Guarantee Tags

no image
Invalidation guarantees class hierarchy.
  1. basic_invalidation_guarantee
  2. find_invalidation_guarantee
  3. range_invalidation_guarantee

Data-Structure Traits

  1. ds_traits

Mapping-Semantics Tags and Traits

Mapping-Semantics Tags

no image
Mapping-Semantics Tag class hierarchy.
  1. basic_ms_tag
  2. data_enabled_ms_tag
  3. compound_data_enabled_ms_tag

Mapping-Semantics Traits

  1. ms_traits

Data-Structure Policy Classes

Hash-Related Policies

Hash-Based Containers describes relevant design points.

Hash and Probe Policies

  1. Hash Functions:
    1. null_hash_fn
  2. Range-Hashing Functions:
    1. Interface of a Range-Hashing Function
    2. direct_mask_range_hashing
    3. direct_mod_range_hashing
  3. Probe Functions:
    1. Interface of a Probe Function
    2. linear_probe_fn
    3. quadratic_probe_fn
    4. null_probe_fn
  4. Ranged-Hash Functions:
    1. Interface of a Ranged-Hash Function
  5. Ranged-Probe Functions:
    1. Interface of a Ranged-Probe function

Resize Policies

no image
Resize policy class diagram.
  1. Resize Policies:
    1. Interface of a Resize Policy
    2. ht_standard_resize_policy
  2. Size Policies:
    1. Interface of a Size Policy
    2. ht_exponential_size_policy
    3. ht_prime_size_policy
  3. Trigger Policies:
    1. Interface of a Trigger Policy
    2. ht_load_check_resize_trigger
    3. ht_max_collision_check_grow_resize_trigger

Tree Node-Update Policies

  1. Design of Node Update Policies
  2. Interface of a Node Updator Policy
  3. Order-Statistics (Finding Entries by Key Order):
    1. order_statistics_key
    2. order_statistics_key_cmp
    3. order_statistics_node_updator
    4. find_by_order
    5. order_by_key
  4. null_node_updator

List Update Policies

  1. Design of List Update Policies
  2. Interface of a List Update Policy
  3. Move-to-Front:
    1. move_to_front_update_metadata
    2. move_to_front_update_policy
  4. Counter:
    1. counter_update_metadata
    2. counter_update_policy

Exceptions

  1. pb_assoc_ex
  2. cannot_insert
  3. cannot_join
  4. cannot_resize