18#define BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING
19#define BOOST_MULTI_INDEX_ENABLE_SAFE_MODE
23#include <boost/config.hpp>
25#include <boost/multi_index_container.hpp>
26#include <boost/multi_index/hashed_index.hpp>
27#include <boost/multi_index/identity.hpp>
28#include <boost/multi_index/member.hpp>
29#include <boost/multi_index/mem_fun.hpp>
30#include <boost/multi_index/sequenced_index.hpp>
48template <
typename Item,
typename KeyExtractor = boost::multi_index::
identity<Item> >
51 typedef boost::multi_index::multi_index_container
54 boost::multi_index::indexed_by
56 boost::multi_index::sequenced<>,
57 boost::multi_index::hashed_unique<KeyExtractor>
73 std::pair<iterator,bool> p=
il.push_front(item);
76 il.relocate(
il.begin(),p.first);
85 template<
typename Modifier>
88 return il.modify(position, modifier);
92 std::size_t
size()
const {
return il.size();}
reverse_iterator rbegin()
std::size_t max_size() const
item_list::reverse_iterator reverse_iterator
bool modify(iterator position, Modifier modifier)
const item_type & mru() const
item_list::value_type value_type
std::size_t max_num_items
const_reverse_iterator rend() const
const_reverse_iterator rbegin() const
boost::multi_index::multi_index_container< Item, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::hashed_unique< KeyExtractor > > > item_list
item_list::const_reverse_iterator const_reverse_iterator
const_iterator begin() const
item_list::const_iterator const_iterator
const item_type & lru() const
item_list::iterator iterator
mru_list(std::size_t max_num_items_)
const_iterator end() const
bool insert(const item_type &item)