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