# `basic_hash_table` Interface

An abstract basic hash-based associative container.

Defined in: `assoc_container.hpp`

## Template Parameters

Parameter | Description | Default Value
    typename Key
| Key type. | -
    typename Mapped
| Mapped type. | -
    class Hash_Fn
| Hash functor. | -
    class Eq_Fn
| Equivalence functor. | -
    class Resize_Policy
| Resize policy. | -
    bool Store_Hash
| Indicates whether the hash value will be stored along with each key. | -
    class Tag
| Mapped-structure tag. | -
    class Allocator
| Allocator type. | -

## Base Classes

Class | Derivation Type
    Resize_Policy
| public
    container_base
| public

## Public Types and Constants

### Policy Definitions

Type | Definition | Description
    hash_fn
    Hash_Fn
| Hash functor type.
    eq_fn
    Eq_Fn
| Equivalence functor type.
    resize_policy
    Resize_Policy
| Resize policy type.
    store_hash
    Store_Hash
| Indicates whether a hash value is stored with each entry.

## Public Methods

### Constructors, Destructor, and Related

Method | Description
    virtual
      ~basic_hash_table
      ()
| Destructor.

### Policy Access Methods

Method | Description
    hash_fn &
      get_hash_fn
      ()
| Access to the `hash_fn` object.
    const hash_fn &
      get_hash_fn
      () const
| Const access to the `hash_fn` object.
    eq_fn &
      get_eq_fn
      ()
| Access to the `eq_fn` object.
    const eq_fn &
      get_eq_fn
      () const
| Const access to the `eq_fn` object.
    resize_policy &
      get_resize_policy
      ()
| Access to the `resize_policy` object.
    const resize_policy &
      get_resize_policy
      () const
| Const access to the `resize_policy` object.

## Private Methods

### Resize Methods

Method | Description
    virtual void
      do_resize
      (size_type new_size)
| Resizes the container object to `new_size`.