# `hash_exponential_size_policy` Interface

A size policy whose sequence of sizes form an exponential sequence (typically powers of 2)

Defined in: `hash_policy.hpp`

## Template Parameters

Parameter | Description | Default Value

    typename Size_Type

Size type.

size_t

## Public Types and Constants

### General Definitions

Type | Definition | Description

    size_type

    Size_Type

Size type.

## Public Methods

### Constructors, Destructor, and Related

Method | Description

      hash_exponential_size_policy
      (size_type start_size = 8,
        size_type grow_factor = 2)

Default constructor, or constructor taking a `start_size`, or constructor taking a start size and `grow_factor`. The policy will use the sequence of sizes `start_size`, `start_size` * `grow_factor`, `start_size` * `grow_factor`^2, ...

    void
      swap
      (hash_exponential_size_policy &other)

Swaps content.

## Protected Methods

### Size methods

Method | Description

    size_type
      get_nearest_larger_size
      (size_type size) const

Given a size `size`, returns a size that is larger.

    size_type
      get_nearest_smaller_size
      (size_type size) const

Given a size `size`, returns a size that is smaller.