34 #include "../System/exception.h"
42 template <
class Param1>
51 template <
class Param1>
57 std::vector< CL_SharedPtr<CL_SlotCallback> >::reverse_iterator it =
it_super;
65 if (it->get()->valid && it->get()->enabled)
73 throw CL_Exception(
"Called non-invokable super function");
78 std::vector< CL_SharedPtr<CL_SlotCallback> >::reverse_iterator it =
it_super;
81 if (it->get()->valid && it->get()->enabled)
93 std::vector< CL_SharedPtr<CL_SlotCallback> >::reverse_iterator
it_super;
95 std::vector< CL_SharedPtr<CL_SlotCallback> >::reverse_iterator
it_end;
100 template <
class Param1>
112 template <
class Param1,
class UserData>
125 template <
class Param1,
class InstanceClass>
130 : instance(instance), member_func(member_func) {
return; }
138 template <
class Param1,
class InstanceClass,
class UserData>
143 : instance(instance), member_func(member_func), user_data(user_data) {
return; }
152 template <
class Param1,
class Functor>
157 : functor(functor) {
return; }
165 template <
class Param1>
176 : impl(copy.impl) {
return; }
187 CL_SharedPtr<CL_SlotCallback> callback(
189 impl->connected_slots.push_back(callback);
193 template<
class UserData>
197 CL_SharedPtr<CL_SlotCallback> callback(
199 impl->connected_slots.push_back(callback);
203 template<
class InstanceClass>
207 CL_SharedPtr<CL_SlotCallback> callback(
209 impl->connected_slots.push_back(callback);
213 template<
class InstanceClass,
class UserData>
217 CL_SharedPtr<CL_SlotCallback> callback(
219 impl->connected_slots.push_back(callback);
223 template<
class Functor>
227 CL_SharedPtr<CL_SlotCallback> callback(
229 impl->connected_slots.push_back(callback);
235 std::vector< CL_SharedPtr<CL_SlotCallback> > callbacks = impl->connected_slots;
238 s.
it_end = callbacks.rend();
250 std::vector< CL_SharedPtr<CL_SlotCallback> >::size_type i, size;
251 size = impl->connected_slots.size();
252 for (i = 0; i < size; i++)
254 if (!impl->connected_slots[i]->valid)
256 impl->connected_slots.erase(impl->connected_slots.begin()+i);
263 CL_SharedPtr<CL_Signal_Impl> impl;