GNU g++  v5.2.1
GNU Standard C++
__gnu_pbds::lu_counter_policy< Max_Count, _Alloc > Class Template Reference

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

#include <list_update_policy.hpp>

Inheritance diagram for __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >:
Collaboration diagram for __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >:

Public Types

enum  { max_count = Max_Count }
 
typedef _Alloc allocator_type
 
typedef __rebind_m::other::reference metadata_reference
 Reference to metadata on which this functor operates. More...
 
typedef detail::lu_counter_metadata< size_typemetadata_type
 Metadata on which this functor operates. More...
 
typedef allocator_type::size_type size_type
 

Public Member Functions

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

Private Types

typedef _Alloc::template rebind< metadata_type__rebind_m
 
typedef detail::lu_counter_policy_base< size_typebase_type
 

Private Member Functions

lu_counter_metadata< size_typeoperator() (size_type max_size) const
 
bool operator() (Metadata_Reference r_data, size_type m_max_count) 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.

Member Typedef Documentation

template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>
typedef _Alloc::template rebind<metadata_type> __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::__rebind_m
private
template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>
typedef _Alloc __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::allocator_type
template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>
typedef detail::lu_counter_policy_base<size_type> __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::base_type
private
template<std::size_t Max_Count = 5, typename _Alloc = std::allocator<char>>
typedef __rebind_m::other::reference __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::metadata_reference

Reference to metadata on which this functor operates.

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.

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

Member Enumeration Documentation

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.

Member Function Documentation

lu_counter_metadata<size_type> __gnu_pbds::detail::lu_counter_policy_base< _Alloc::size_type >::operator() ( size_type  max_size) const
inlineprotectedinherited
bool __gnu_pbds::detail::lu_counter_policy_base< _Alloc::size_type >::operator() ( Metadata_Reference  r_data,
size_type  m_max_count 
) const
inlineprotectedinherited
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.

References __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::max_count, and __gnu_pbds::detail::lu_counter_policy_base< Size_Type >::operator()().

Here is the call graph for this function:

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.

References __gnu_pbds::lu_counter_policy< Max_Count, _Alloc >::max_count, and __gnu_pbds::detail::lu_counter_policy_base< Size_Type >::operator()().

Here is the call graph for this function:


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