# `counter_lu_policy` Interface

A list-update policy that moves elements to the front of the list based on the counter algorithm.

Defined in: `list_update_policy.hpp`

## Template Parameters

Parameter | Description | Default Value
    size_t Max_Count
| Maximum count. When some element is accessed this number of times, it will be moved to the front of the list. | 5
    class Allocator
| Allocator type. This is used only for definitions, e.g., the size type. |
    std::allocator<char>

## Public Types and Constants

### Policy Definitions

Type | Definition | Description
    allocator
    Allocator
| `Allocator` type.
    max_count
    Max_Count
    }
| Maximum count.

### General Definitions

Type | Definition | Description
    size_type
    typename allocator::size_type
| Size type.

### Metadata-Type Definitions

Type | Definition | Description
    metadata_type
    Some class containing a counter.
| Metadata on which this functor operates.
    metadata_reference
    typename Allocator::template rebind<
        metadata_type>::other::reference
| Reference to metadata on which this functor operates.

## Public Methods

### Metadata Methods

Method | Description
    metadata_type
      operator()
      () const
| Creates a metadata object.
    bool
      operator()
      (metadata_reference r_metadata) const
| Decides whether a metadata object should be moved to the front of the list.