libstdc++
__gnu_pbds::lu_counter_policy< Max_Count, _Alloc > Class Template Reference
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

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

◆ 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.

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 __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::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 __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::max_count.


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