12#include <boost/thread.hpp>
33 class Base :
public std::enable_shared_from_this<Base>
50 return std::dynamic_pointer_cast<R, Base>(std::enable_shared_from_this<Base>::shared_from_this());
60 return std::dynamic_pointer_cast<R const, Base const>(std::enable_shared_from_this<Base>::shared_from_this());
86 return std::make_shared<on_scope_exit<F>>(std::move(
f));
117 template <
typename K,
typename V>
120 template <
typename K>
123 inline std::shared_ptr<unsigned char>
shared_malloc(
size_t size) {
return {
static_cast<unsigned char*
>(malloc(size)), free}; }
134 using Ptr = std::shared_ptr<Count>;
146 boost::unique_lock<boost::mutex>
const lock(
mut);
152 boost::unique_lock<boost::mutex>
const lock(
mut);
Definition utilities.hh:34
Base(const Base &)=delete
Base & operator=(const Base &)=delete
Base & operator=(Base &&)=delete
std::shared_ptr< R > shared_from_this()
Definition utilities.hh:48
std::shared_ptr< R const > shared_from_this() const
Definition utilities.hh:58
Definition utilities.hh:132
void ping()
Definition utilities.hh:143
void dec()
Definition utilities.hh:150
static Ptr create(const std::string &name)
Definition counter.cc:40
const std::string name
Definition utilities.hh:137
long count
Definition utilities.hh:139
void inc()
Definition utilities.hh:144
boost::mutex mut
Definition utilities.hh:138
std::shared_ptr< Count > Ptr
Definition utilities.hh:134
Definition utilities.hh:186
Counted & operator=(const Counted &)=default
Counted(Counted &&)
Definition utilities.hh:209
virtual ~Counted()
Definition utilities.hh:218
static Count::Ptr count_instance()
Definition utilities.hh:191
Counted & operator=(Counted &&)=default
Counted(const Counted &)
Definition utilities.hh:203
Counted()
Definition utilities.hh:197
Count::Ptr data
Definition utilities.hh:188
Definition utilities.hh:164
static Counter * instance()
Definition counter.cc:49
Counter()
Definition counter.cc:55
void unregisterCount(const Count::Ptr &count)
Definition counter.cc:63
std::list< Count::Ptr > counts
Definition utilities.hh:167
Scroom::Logger logger
Definition utilities.hh:169
boost::mutex mut
Definition utilities.hh:168
std::list< Count::Ptr > getCounts()
Definition counter.cc:82
void dump()
Definition counter.cc:69
void registerCount(const Count::Ptr &count)
Definition counter.cc:57
Definition utilities.hh:66
F f
Definition utilities.hh:80
on_scope_exit(on_scope_exit &&)=delete
on_scope_exit & operator=(on_scope_exit &&)=delete
on_scope_exit(F f_)
Definition utilities.hh:68
on_scope_exit & operator=(const on_scope_exit &)=delete
on_scope_exit(const on_scope_exit &)=delete
~on_scope_exit()
Definition utilities.hh:77
Definition utilities.hh:91
F f
Definition utilities.hh:114
bool cleanup
Definition utilities.hh:113
optional_cleanup & operator=(const optional_cleanup &)=delete
optional_cleanup(const optional_cleanup &)=delete
~optional_cleanup()
Definition utilities.hh:102
optional_cleanup(optional_cleanup &&)=delete
void cancel()
Definition utilities.hh:110
optional_cleanup(F f_)
Definition utilities.hh:93
optional_cleanup & operator=(optional_cleanup &&)=delete
f
Definition gtkhelper-tests.cc:43
Definition tweak-view.hh:22
void dumpCounts()
Definition counter.cc:24
std::set< K, std::owner_less< K > > WeakKeySet
Definition utilities.hh:121
std::map< K, V, std::owner_less< K > > WeakKeyMap
Definition utilities.hh:118
std::shared_ptr< void > on_destruction(F f)
Definition utilities.hh:84
std::shared_ptr< unsigned char > shared_malloc(size_t size)
Definition utilities.hh:123
const size_t count
Definition pageprovider-tests.cc:21