# `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`.