42 #ifndef PB_DS_LU_POLICY_HPP
43 #define PB_DS_LU_POLICY_HPP
57 template<
typename _Alloc = std::allocator<
char> >
61 typedef _Alloc allocator_type;
67 typedef typename _Alloc::template rebind<metadata_type> __rebind_m;
76 {
return s_metadata; }
92 template<std::
size_t Max_Count = 5,
typename _Alloc = std::allocator<
char> >
97 typedef _Alloc allocator_type;
98 typedef typename allocator_type::size_type size_type;
112 typedef typename _Alloc::template rebind<metadata_type> __rebind_m;
121 {
return base_type::operator()(
max_count); }
127 {
return base_type::operator()(r_data,
max_count); }
bool operator()(metadata_reference r_data) const
Decides whether a metadata object should be moved to the front of the list.
When some element is accessed this number of times, it will be moved to the front of the list...
Base class for list-update counter policy.
null_type metadata_type
Metadata on which this functor operates.
A list-update metadata type that moves elements to the front of the list based on the counter algorit...
bool operator()(metadata_reference r_metadata) const
Decides whether a metadata object should be moved to the front of the list.
detail::lu_counter_metadata< size_type > metadata_type
Metadata on which this functor operates.
metadata_type operator()() const
Creates a metadata object.
__rebind_m::other::reference metadata_reference
Reference to metadata on which this functor operates.
Represents no type, or absence of type, for template tricks.
metadata_type operator()() const
Creates a metadata object.
__rebind_m::other::reference metadata_reference
Reference to metadata on which this functor operates.