Go to the documentation of this file.
10 #include <boost/enable_shared_from_this.hpp>
11 #include <boost/thread.hpp>
30 class Base :
public boost::enable_shared_from_this<Base>
38 virtual ~Base() =
default;
77 return boost::make_shared<on_scope_exit<F>>(std::move(f));
108 template <
typename R>
111 return boost::dynamic_pointer_cast<R, Base>(boost::enable_shared_from_this<Base>::shared_from_this());
114 template <
typename R>
117 return boost::dynamic_pointer_cast<R const, Base const>(boost::enable_shared_from_this<Base>::shared_from_this());
129 using Ptr = boost::shared_ptr<Count>;
143 boost::unique_lock<boost::mutex>
const lock(
mut);
149 boost::unique_lock<boost::mutex>
const lock(
mut);
Definition: utilities.hh:56
boost::mutex mut
Definition: utilities.hh:165
Definition: assertions.hh:14
Counter()
Definition: counter.cc:54
boost::shared_ptr< R > shared_from_this()
Definition: utilities.hh:109
std::list< Count::Ptr > getCounts()
Definition: counter.cc:81
F f
Definition: utilities.hh:71
virtual ~Counted()
Definition: utilities.hh:214
boost::shared_ptr< Count > Ptr
Definition: utilities.hh:129
Counted()
Definition: utilities.hh:193
Definition: utilities.hh:181
F f
Definition: utilities.hh:105
Counted(Counted &&)
Definition: utilities.hh:205
on_scope_exit & operator=(const on_scope_exit &)=delete
void registerCount(const Count::Ptr &count)
Definition: counter.cc:56
static Counter * instance()
Definition: counter.cc:48
std::list< Count::Ptr > counts
Definition: utilities.hh:164
Counted & operator=(const Counted &)=default
static Count::Ptr count_instance()
Definition: utilities.hh:187
optional_cleanup(F f_)
Definition: utilities.hh:84
Counted(const Counted &)
Definition: utilities.hh:199
void ping()
Definition: utilities.hh:138
Count::Ptr data
Definition: utilities.hh:184
void dumpCounts()
Definition: counter.cc:23
Definition: utilities.hh:160
on_scope_exit(F f_)
Definition: utilities.hh:59
void inc()
Definition: utilities.hh:141
Definition: utilities.hh:30
bool cleanup
Definition: utilities.hh:104
boost::shared_ptr< void > on_destruction(F f)
Definition: utilities.hh:75
Base & operator=(const Base &)=delete
ProgressBarPulser::Ptr instance()
Definition: progressbarmanager.cc:43
~on_scope_exit()
Definition: utilities.hh:68
const std::string name
Definition: utilities.hh:132
long count
Definition: utilities.hh:134
optional_cleanup & operator=(const optional_cleanup &)=delete
Definition: utilities.hh:81
void dump()
Definition: counter.cc:68
void unregisterCount(const Count::Ptr &count)
Definition: counter.cc:62
void cancel()
Definition: utilities.hh:101
static Ptr create(const std::string &name)
Definition: counter.cc:39
Definition: utilities.hh:126
Count(std::string name)
Definition: counter.cc:33
~optional_cleanup()
Definition: utilities.hh:93
boost::mutex mut
Definition: utilities.hh:133
void dec()
Definition: utilities.hh:147