14 #ifndef ECL_SIGSLOTS_SIGSLOT_HPP_
15 #define ECL_SIGSLOTS_SIGSLOT_HPP_
45 template <
typename Data=Vo
id>
81 function =
new PartiallyBoundUnaryMemberFunction<C,Data,void>(f,c);
106 void emit(Data data) {
107 typename PublicationMap::const_iterator topic_iter;
108 typename Subscribers::const_iterator slots_iter;
110 const Subscribers* subscribers = topic_iter->second;
111 for ( slots_iter = subscribers->begin(); slots_iter != subscribers->end(); ++slots_iter ) {
112 SigSlot<Data> *sigslot = *slots_iter;
113 sigslot->process(data);
157 std::pair< std::set<std::string>::iterator,
bool > ret;
168 std::set<std::string>::const_iterator listen_iter =
subscriptions.find(topic);
178 std::set<std::string>::iterator iter;
183 typename std::map<std::string,const Subscribers*>::iterator emit_iter;
270 PublicationMap::const_iterator topic_iter;
271 Subscribers::const_iterator slots_iter;
273 const Subscribers* subscribers = topic_iter->second;
274 for ( slots_iter = subscribers->begin(); slots_iter != subscribers->end(); ++slots_iter ) {
275 SigSlot *sigslot = *slots_iter;
286 void process(Void void_arg = Void()) {
316 std::pair< std::set<std::string>::iterator,
bool > ret;
330 std::set<std::string>::const_iterator listen_iter =
subscriptions.find(topic);
340 std::set<std::string>::iterator iter;
345 std::map<std::string,const Subscribers*>::iterator emit_iter;