Go to the documentation of this file.
13 #include <boost/noncopyable.hpp>
14 #include <boost/shared_ptr.hpp>
15 #include <boost/weak_ptr.hpp>
37 class Token :
public boost::shared_ptr<Detail::TokenImpl>
40 explicit Token(
const boost::shared_ptr<Detail::TokenImpl>& t);
41 explicit Token(
const boost::weak_ptr<Detail::TokenImpl>& t);
56 using WeakToken = boost::weak_ptr<Detail::TokenImpl>;
58 template <
typename K,
typename V>
61 ,
public boost::noncopyable
64 using MapType =
typename std::map<K, boost::weak_ptr<Detail::ValueType<V>>>;
67 mutable boost::mutex
mut;
75 void set(
const K& k,
const V& v);
77 std::list<K>
keys()
const;
78 std::list<V>
values()
const;
81 template <
typename K,
typename V>
85 using Ptr = boost::shared_ptr<Map<K, V>>;
Definition: bookkeeping.hh:34
void merge(Token &rhs) const
Definition: bookkeepingimpl.hh:195
std::list< Stuff > StuffList
Definition: stuff.hh:20
void set(const K &k, const V &v)
Definition: bookkeepingimpl.hh:313
std::list< K > keys() const
Definition: bookkeepingimpl.hh:350
MapType map
Definition: bookkeeping.hh:66
Definition: bookkeeping.hh:82
Token reserve(const K &k)
Definition: bookkeepingimpl.hh:210
void remove(const K &k)
Definition: bookkeepingimpl.hh:283
Detail::LValue< V > at(const K &k)
Definition: bookkeepingimpl.hh:295
Definition: utilities.hh:30
Detail::TokenAddition operator+(const Stuff &rhs) const
Definition: bookkeepingimpl.hh:199
Definition: bookkeeping.hh:59
Token reReserve(const K &k)
Definition: bookkeepingimpl.hh:228
boost::shared_ptr< void > Stuff
Definition: stuff.hh:18
Definition: bookkeepingimpl.hh:17
Definition: bookkeepingimpl.hh:50
boost::mutex mut
Definition: bookkeeping.hh:67
std::list< V > values() const
Definition: bookkeepingimpl.hh:362
Token const & operator+=(const Stuff &rhs) const
Definition: bookkeepingimpl.hh:201
V get(const K &k)
Definition: bookkeepingimpl.hh:332
Definition: async-deleter.hh:12
boost::shared_ptr< Map< ObserverWeak, typename Registration::Ptr > > Ptr
Definition: bookkeeping.hh:85
Token()
Definition: bookkeepingimpl.hh:174
boost::weak_ptr< Detail::TokenImpl > WeakToken
Definition: bookkeeping.hh:56
Definition: bookkeeping.hh:37
Definition: bookkeeping.hh:20
typename std::map< ObserverWeak, boost::weak_ptr< Detail::ValueType< typename Registration::Ptr > >> MapType
Definition: bookkeeping.hh:64
void add(const Stuff &s) const
Definition: bookkeepingimpl.hh:191
static Ptr create()
Definition: bookkeepingimpl.hh:424
Definition: bookkeeping.hh:31