# `move_to_front_update_policy` Interface

A list-update policy that unconditionally moves elements to the front of the list.

1. `move_to_front_update_policy.hpp`
2. Template parameters.
3. Public Methods:
   1. Constructors, destructor, and related.
4. Protected Types and Constants:
   1. Metadata definitions.
5. Protected Methods:
   1. Metadata operations.

## Template parameters.

Parameter | Description | Default Value
    Metadata_Reference
| Metadata reference type. |
    std::allocator<
      move_to_front_update_metadata>::
        reference

## Constructors, destructor, and related.

Method | Description
    void
      swap
      (move_to_front_update_policy &r_other)
| Swaps content.

## Metadata definitions.

Type | Definition | Description
    metadata_type
    move_to_front_update_metadata
| Metadata on which this functor operates.
    metadata_reference
    Metadata_Reference
| Reference to metadata on which this functor operates.

## Metadata operations.

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