13 #ifndef _MRU_LIST_HPP_ 14 #define _MRU_LIST_HPP_ 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> 48 template <
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();}
96 const item_type&
mru()
const {
return *
il.begin();}
97 const item_type&
lru()
const {
return *
il.rbegin();}
103 reverse_iterator
rend() {
return il.rend();}
105 const_iterator
begin()
const {
return il.begin();}
106 const_iterator
end()
const {
return il.end();}
108 const_reverse_iterator
rbegin()
const {
return il.rbegin();}
109 const_reverse_iterator
rend()
const {
return il.rend();}
121 #endif // _MRU_LIST_HPP_
std::size_t max_num_items
item_list::const_reverse_iterator const_reverse_iterator
bool modify(iterator position, Modifier modifier)
item_list::value_type value_type
const_reverse_iterator rbegin() const
const item_type & lru() const
const_iterator end() const
const_iterator begin() const
std::size_t max_size() 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::iterator iterator
reverse_iterator rbegin()
const item_type & mru() const
item_list::reverse_iterator reverse_iterator
PWIZ_API_DECL Position position(CVID cvid=CVID_Unknown)
returns a Position corresponding to one of the following CVIDs: CVID_Unknown: Position::Anywhere MS_m...
item_list::const_iterator const_iterator
mru_list(std::size_t max_num_items_)
bool insert(const item_type &item)
const_reverse_iterator rend() const