41 #ifndef PB_DS_LU_POLICY_HPP 42 #define PB_DS_LU_POLICY_HPP 56 template<
typename _Alloc = std::allocator<
char> >
60 typedef _Alloc allocator_type;
66 typedef typename _Alloc::template rebind<metadata_type> __rebind_m;
75 {
return s_metadata; }
91 template<std::
size_t Max_Count = 5,
typename _Alloc = std::allocator<
char> >
96 typedef _Alloc allocator_type;
97 typedef typename allocator_type::size_type size_type;
103 max_count = Max_Count
111 typedef typename _Alloc::template rebind<metadata_type> __rebind_m;
120 {
return base_type::operator()(max_count); }
126 {
return base_type::operator()(r_data, max_count); }
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.
metadata_type operator()() const
Creates a metadata object.
A list-update metadata type that moves elements to the front of the list based on the counter algorit...
Represents no type, or absence of type, for template tricks.
GNU extensions for policy-based data structures for public use.
bool operator()(metadata_reference r_metadata) const
Decides whether a metadata object should be moved to the front of the list.
Base class for list-update counter policy.
__rebind_m::other::reference metadata_reference
Reference to metadata on which this functor operates.
null_type metadata_type
Metadata on which this functor operates.
__rebind_m::other::reference metadata_reference
Reference to metadata on which this functor operates.
detail::lu_counter_metadata< size_type > metadata_type
Metadata on which this functor operates.