libstdc++: __gnu_pbds::lu_counter_policy< Max_Count, _Alloc > Class Template Reference

libstdc++

__gnu_pbds::lu_counter_policy< Max_Count, _Alloc > Class Template Reference

`#include <list_update_policy.hpp>`

Inheritance diagram for __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >:
[legend]

## Public Types
enum | { max_count }
typedef _Alloc | allocator_type
typedef detail::rebind_traits< _Alloc, metadata_type >::reference | metadata_reference
typedef detail::lu_counter_metadata< size_type > | metadata_type
typedef allocator_type::size_type | size_type

## Public Member Functions
metadata_type | operator() () const
bool | operator() (metadata_reference r_data) const

## Private Member Functions
template<typename Metadata_Reference>
bool | operator() (Metadata_Reference r_data, size_type m_max_count) const
lu_counter_metadata< size_type > | operator() (size_type max_size) const

## Detailed Description

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>
class __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >

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

Definition at line 91 of file list_update_policy.hpp.

## Member Typedef Documentation

## ◆ allocator_type

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

typedef _Alloc __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::allocator_type

Definition at line 95 of file list_update_policy.hpp.

## ◆ metadata_reference

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

typedef detail::rebind_traits<_Alloc,metadata_type>::reference __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::metadata_reference

Reference to metadata on which this functor operates.

Definition at line 114 of file list_update_policy.hpp.

## ◆ metadata_type

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

typedef detail::lu_counter_metadata<size_type> __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::metadata_type

Metadata on which this functor operates.

Definition at line 106 of file list_update_policy.hpp.

## ◆ size_type

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

typedef allocator_type::size_type __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::size_type

Definition at line 96 of file list_update_policy.hpp.

## Member Enumeration Documentation

## ◆ anonymous enum

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

anonymous enum

Enumerator
max_count | When some element is accessed this number of times, it will be moved to the front of the list.

Definition at line 98 of file list_update_policy.hpp.

## Member Function Documentation

## ◆ operator()() [1/2]

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

metadata_type __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::operator() | ( |  | ) | const
| inline

Creates a metadata object.

Definition at line 118 of file list_update_policy.hpp.

References max_count.

## ◆ operator()() [2/2]

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>

bool __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::operator() | ( | metadata_reference | r_data | ) | const
| inline

Decides whether a metadata object should be moved to the front of the list.

Definition at line 124 of file list_update_policy.hpp.

References max_count.

The documentation for this class was generated from the following file:

- list_update_policy.hpp