26 #ifndef SHORE_PROCESSING_SIGNALSLOT_HPP__
27 #define SHORE_PROCESSING_SIGNALSLOT_HPP__
32 #include <boost/function.hpp>
37 template<
typename T>
class slot;
43 typedef boost::function<void (T)> functor_t;
50 typedef std::map<slot<T>*,functor_t> map_t;
53 emitter(
const map_t& m): map(m) {}
57 void operator()(T value)
const;
65 typedef boost::function<void ()> functor_t;
72 typedef std::map<slot<void>*,functor_t> map_t;
75 emitter(
const map_t& m): map(m) {}
79 void operator()()
const;
91 typedef typename sig_spec<T>::functor_t functor_t;
94 typedef std::set<signal_t*> sigset_t;
130 friend class slot<T>;
132 typedef typename sig_spec<T>::functor_t functor_t;
133 typedef std::map<slot<T>*,functor_t> slotmap_t;
135 typedef typename sig_spec<T>::emitter emitter_type;
165 size_t nslots()
const;
170 #include "signalslot.t.hpp"
172 #endif // SHORE_PROCESSING_SIGNALSLOT_HPP__