wok annotate visualboyadvance/stuff/1.7.2-deprecatedsigc++.patch @ rev 17300
Update weechat to 1.0.1 (needs further testing, if unstable somehow then
downgrade to at most 0.4.3).
downgrade to at most 0.4.3).
author | necrophcodr <tcg.thegamer@gmail.com> |
---|---|
date | Thu Oct 30 23:27:48 2014 +0100 (2014-10-30) |
parents | |
children |
rev | line source |
---|---|
gokhlayeh@7031 | 1 --- src/gtk/sigccompat.h.old 2008-05-02 10:46:45.000000000 +0200 |
gokhlayeh@7031 | 2 +++ src/gtk/sigccompat.h 2008-05-02 10:47:08.000000000 +0200 |
gokhlayeh@7031 | 3 @@ -20,7 +20,7 @@ |
gokhlayeh@7031 | 4 #ifndef __VBA_SIGCCOMPAT_H__ |
gokhlayeh@7031 | 5 #define __VBA_SIGCCOMPAT_H__ |
gokhlayeh@7031 | 6 |
gokhlayeh@7031 | 7 -#undef LIBSIGC_DISABLE_DEPRECATED |
gokhlayeh@7031 | 8 +#define LIBSIGC_DISABLE_DEPRECATED |
gokhlayeh@7031 | 9 #include <sigc++/bind.h> |
gokhlayeh@7031 | 10 #include <sigc++/connection.h> |
gokhlayeh@7031 | 11 |
gokhlayeh@7031 | 12 @@ -28,9 +28,679 @@ |
gokhlayeh@7031 | 13 #include <sigc++/object.h> |
gokhlayeh@7031 | 14 #include <sigc++/functors/mem_fun.h> |
gokhlayeh@7031 | 15 |
gokhlayeh@7031 | 16 -namespace SigC |
gokhlayeh@7031 | 17 + |
gokhlayeh@7031 | 18 +// From sigc++/bind.h |
gokhlayeh@7031 | 19 +namespace SigC { |
gokhlayeh@7031 | 20 + |
gokhlayeh@7031 | 21 +template <class T_bound1, class T_functor> |
gokhlayeh@7031 | 22 +inline ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 23 + typename ::sigc::unwrap_reference<T_bound1>::type> |
gokhlayeh@7031 | 24 +bind(const T_functor& _A_functor, T_bound1 _A_b1) |
gokhlayeh@7031 | 25 +{ return ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 26 + typename ::sigc::unwrap_reference<T_bound1>::type> |
gokhlayeh@7031 | 27 + (_A_functor, _A_b1); |
gokhlayeh@7031 | 28 +} |
gokhlayeh@7031 | 29 + |
gokhlayeh@7031 | 30 +template <class T_bound1, class T_bound2, class T_functor> |
gokhlayeh@7031 | 31 +inline ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 32 + typename ::sigc::unwrap_reference<T_bound1>::type, |
gokhlayeh@7031 | 33 + typename ::sigc::unwrap_reference<T_bound2>::type> |
gokhlayeh@7031 | 34 +bind(const T_functor& _A_functor, T_bound1 _A_b1, T_bound2 _A_b2) |
gokhlayeh@7031 | 35 +{ return ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 36 + typename ::sigc::unwrap_reference<T_bound1>::type, |
gokhlayeh@7031 | 37 + typename ::sigc::unwrap_reference<T_bound2>::type> |
gokhlayeh@7031 | 38 + (_A_functor, _A_b1, _A_b2); |
gokhlayeh@7031 | 39 +} |
gokhlayeh@7031 | 40 + |
gokhlayeh@7031 | 41 +template <class T_bound1, class T_bound2, class T_bound3, class T_functor> |
gokhlayeh@7031 | 42 +inline ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 43 + typename ::sigc::unwrap_reference<T_bound1>::type, |
gokhlayeh@7031 | 44 + typename ::sigc::unwrap_reference<T_bound2>::type, |
gokhlayeh@7031 | 45 + typename ::sigc::unwrap_reference<T_bound3>::type> |
gokhlayeh@7031 | 46 +bind(const T_functor& _A_functor, T_bound1 _A_b1, T_bound2 _A_b2,T_bound3 _A_b3) |
gokhlayeh@7031 | 47 +{ return ::sigc::bind_functor<-1, T_functor, |
gokhlayeh@7031 | 48 + typename ::sigc::unwrap_reference<T_bound1>::type, |
gokhlayeh@7031 | 49 + typename ::sigc::unwrap_reference<T_bound2>::type, |
gokhlayeh@7031 | 50 + typename ::sigc::unwrap_reference<T_bound3>::type> |
gokhlayeh@7031 | 51 + (_A_functor, _A_b1, _A_b2, _A_b3); |
gokhlayeh@7031 | 52 +} |
gokhlayeh@7031 | 53 + |
gokhlayeh@7031 | 54 +} |
gokhlayeh@7031 | 55 + |
gokhlayeh@7031 | 56 +// From sigc++/connection.h |
gokhlayeh@7031 | 57 +namespace SigC { |
gokhlayeh@7031 | 58 + |
gokhlayeh@7031 | 59 +/** Convinience class for safe disconnection. |
gokhlayeh@7031 | 60 + * Iterators must not be used beyond the lifetime of the list |
gokhlayeh@7031 | 61 + * they work on. A connection object can be created from a |
gokhlayeh@7031 | 62 + * slot list iterator and may safely be used to disconnect |
gokhlayeh@7031 | 63 + * the referred slot at any time (disconnect()). If the slot |
gokhlayeh@7031 | 64 + * has already been destroyed, disconnect() does nothing. empty() or |
gokhlayeh@7031 | 65 + * operator bool() can be used to test whether the connection is |
gokhlayeh@7031 | 66 + * still active. The connection can be blocked (block(), unblock()). |
gokhlayeh@7031 | 67 + * |
gokhlayeh@7031 | 68 + * This is possible because the connection object gets notified |
gokhlayeh@7031 | 69 + * when the referred slot dies (notify()). |
gokhlayeh@7031 | 70 + * |
gokhlayeh@7031 | 71 + * @deprecated Use sigc::connection instead. |
gokhlayeh@7031 | 72 + * @ingroup compat |
gokhlayeh@7031 | 73 + */ |
gokhlayeh@7031 | 74 +typedef ::sigc::connection Connection; |
gokhlayeh@7031 | 75 + |
gokhlayeh@7031 | 76 +} |
gokhlayeh@7031 | 77 + |
gokhlayeh@7031 | 78 +// From sigc++/slot.h |
gokhlayeh@7031 | 79 +namespace SigC { |
gokhlayeh@7031 | 80 + |
gokhlayeh@7031 | 81 +// SlotN |
gokhlayeh@7031 | 82 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 83 + * Slot0 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 84 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 85 + * |
gokhlayeh@7031 | 86 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 87 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 88 + * |
gokhlayeh@7031 | 89 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 90 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 91 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 92 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 93 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 94 + * from operator()() temporarily. |
gokhlayeh@7031 | 95 + * |
gokhlayeh@7031 | 96 + * @par Example: |
gokhlayeh@7031 | 97 + * @code |
gokhlayeh@7031 | 98 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 99 + * void foo(int) {} |
gokhlayeh@7031 | 100 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 101 + * s(19); |
gokhlayeh@7031 | 102 + * @endcode |
gokhlayeh@7031 | 103 + * |
gokhlayeh@7031 | 104 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 105 + * @ingroup compat |
gokhlayeh@7031 | 106 + */ |
gokhlayeh@7031 | 107 +template <class T_return> |
gokhlayeh@7031 | 108 +class Slot0 |
gokhlayeh@7031 | 109 + : public ::sigc::slot<T_return> |
gokhlayeh@7031 | 110 +{ |
gokhlayeh@7031 | 111 +public: |
gokhlayeh@7031 | 112 + typedef ::sigc::slot<T_return> parent_type; |
gokhlayeh@7031 | 113 + |
gokhlayeh@7031 | 114 + /// Constructs an empty slot. |
gokhlayeh@7031 | 115 + Slot0() {} |
gokhlayeh@7031 | 116 + |
gokhlayeh@7031 | 117 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 118 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 119 + */ |
gokhlayeh@7031 | 120 + template <class T_functor> |
gokhlayeh@7031 | 121 + Slot0(const T_functor& _A_func) |
gokhlayeh@7031 | 122 + : ::sigc::slot<T_return>(_A_func) {} |
gokhlayeh@7031 | 123 + |
gokhlayeh@7031 | 124 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 125 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 126 + */ |
gokhlayeh@7031 | 127 + Slot0(const parent_type& src) |
gokhlayeh@7031 | 128 + : parent_type(src) {} |
gokhlayeh@7031 | 129 + |
gokhlayeh@7031 | 130 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 131 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 132 + * @return @p this. |
gokhlayeh@7031 | 133 + */ |
gokhlayeh@7031 | 134 + Slot0& operator=(const parent_type& src) |
gokhlayeh@7031 | 135 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 136 +}; |
gokhlayeh@7031 | 137 + |
gokhlayeh@7031 | 138 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 139 + * Slot1 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 140 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 141 + * |
gokhlayeh@7031 | 142 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 143 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 144 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 145 + * |
gokhlayeh@7031 | 146 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 147 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 148 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 149 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 150 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 151 + * from operator()() temporarily. |
gokhlayeh@7031 | 152 + * |
gokhlayeh@7031 | 153 + * @par Example: |
gokhlayeh@7031 | 154 + * @code |
gokhlayeh@7031 | 155 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 156 + * void foo(int) {} |
gokhlayeh@7031 | 157 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 158 + * s(19); |
gokhlayeh@7031 | 159 + * @endcode |
gokhlayeh@7031 | 160 + * |
gokhlayeh@7031 | 161 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 162 + * @ingroup compat |
gokhlayeh@7031 | 163 + */ |
gokhlayeh@7031 | 164 +template <class T_return, class T_arg1> |
gokhlayeh@7031 | 165 +class Slot1 |
gokhlayeh@7031 | 166 + : public ::sigc::slot<T_return, T_arg1> |
gokhlayeh@7031 | 167 +{ |
gokhlayeh@7031 | 168 +public: |
gokhlayeh@7031 | 169 + typedef ::sigc::slot<T_return, T_arg1> parent_type; |
gokhlayeh@7031 | 170 + |
gokhlayeh@7031 | 171 + /// Constructs an empty slot. |
gokhlayeh@7031 | 172 + Slot1() {} |
gokhlayeh@7031 | 173 + |
gokhlayeh@7031 | 174 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 175 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 176 + */ |
gokhlayeh@7031 | 177 + template <class T_functor> |
gokhlayeh@7031 | 178 + Slot1(const T_functor& _A_func) |
gokhlayeh@7031 | 179 + : ::sigc::slot<T_return, T_arg1>(_A_func) {} |
gokhlayeh@7031 | 180 + |
gokhlayeh@7031 | 181 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 182 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 183 + */ |
gokhlayeh@7031 | 184 + Slot1(const parent_type& src) |
gokhlayeh@7031 | 185 + : parent_type(src) {} |
gokhlayeh@7031 | 186 + |
gokhlayeh@7031 | 187 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 188 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 189 + * @return @p this. |
gokhlayeh@7031 | 190 + */ |
gokhlayeh@7031 | 191 + Slot1& operator=(const parent_type& src) |
gokhlayeh@7031 | 192 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 193 +}; |
gokhlayeh@7031 | 194 + |
gokhlayeh@7031 | 195 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 196 + * Slot2 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 197 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 198 + * |
gokhlayeh@7031 | 199 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 200 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 201 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 202 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 203 + * |
gokhlayeh@7031 | 204 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 205 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 206 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 207 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 208 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 209 + * from operator()() temporarily. |
gokhlayeh@7031 | 210 + * |
gokhlayeh@7031 | 211 + * @par Example: |
gokhlayeh@7031 | 212 + * @code |
gokhlayeh@7031 | 213 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 214 + * void foo(int) {} |
gokhlayeh@7031 | 215 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 216 + * s(19); |
gokhlayeh@7031 | 217 + * @endcode |
gokhlayeh@7031 | 218 + * |
gokhlayeh@7031 | 219 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 220 + * @ingroup compat |
gokhlayeh@7031 | 221 + */ |
gokhlayeh@7031 | 222 +template <class T_return, class T_arg1,class T_arg2> |
gokhlayeh@7031 | 223 +class Slot2 |
gokhlayeh@7031 | 224 + : public ::sigc::slot<T_return, T_arg1,T_arg2> |
gokhlayeh@7031 | 225 +{ |
gokhlayeh@7031 | 226 +public: |
gokhlayeh@7031 | 227 + typedef ::sigc::slot<T_return, T_arg1,T_arg2> parent_type; |
gokhlayeh@7031 | 228 + |
gokhlayeh@7031 | 229 + /// Constructs an empty slot. |
gokhlayeh@7031 | 230 + Slot2() {} |
gokhlayeh@7031 | 231 + |
gokhlayeh@7031 | 232 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 233 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 234 + */ |
gokhlayeh@7031 | 235 + template <class T_functor> |
gokhlayeh@7031 | 236 + Slot2(const T_functor& _A_func) |
gokhlayeh@7031 | 237 + : ::sigc::slot<T_return, T_arg1,T_arg2>(_A_func) {} |
gokhlayeh@7031 | 238 + |
gokhlayeh@7031 | 239 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 240 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 241 + */ |
gokhlayeh@7031 | 242 + Slot2(const parent_type& src) |
gokhlayeh@7031 | 243 + : parent_type(src) {} |
gokhlayeh@7031 | 244 + |
gokhlayeh@7031 | 245 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 246 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 247 + * @return @p this. |
gokhlayeh@7031 | 248 + */ |
gokhlayeh@7031 | 249 + Slot2& operator=(const parent_type& src) |
gokhlayeh@7031 | 250 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 251 +}; |
gokhlayeh@7031 | 252 + |
gokhlayeh@7031 | 253 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 254 + * Slot3 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 255 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 256 + * |
gokhlayeh@7031 | 257 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 258 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 259 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 260 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 261 + * - @e T_arg3 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 262 + * |
gokhlayeh@7031 | 263 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 264 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 265 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 266 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 267 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 268 + * from operator()() temporarily. |
gokhlayeh@7031 | 269 + * |
gokhlayeh@7031 | 270 + * @par Example: |
gokhlayeh@7031 | 271 + * @code |
gokhlayeh@7031 | 272 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 273 + * void foo(int) {} |
gokhlayeh@7031 | 274 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 275 + * s(19); |
gokhlayeh@7031 | 276 + * @endcode |
gokhlayeh@7031 | 277 + * |
gokhlayeh@7031 | 278 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 279 + * @ingroup compat |
gokhlayeh@7031 | 280 + */ |
gokhlayeh@7031 | 281 +template <class T_return, class T_arg1,class T_arg2,class T_arg3> |
gokhlayeh@7031 | 282 +class Slot3 |
gokhlayeh@7031 | 283 + : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3> |
gokhlayeh@7031 | 284 +{ |
gokhlayeh@7031 | 285 +public: |
gokhlayeh@7031 | 286 + typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3> parent_type; |
gokhlayeh@7031 | 287 + |
gokhlayeh@7031 | 288 + /// Constructs an empty slot. |
gokhlayeh@7031 | 289 + Slot3() {} |
gokhlayeh@7031 | 290 + |
gokhlayeh@7031 | 291 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 292 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 293 + */ |
gokhlayeh@7031 | 294 + template <class T_functor> |
gokhlayeh@7031 | 295 + Slot3(const T_functor& _A_func) |
gokhlayeh@7031 | 296 + : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3>(_A_func) {} |
gokhlayeh@7031 | 297 + |
gokhlayeh@7031 | 298 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 299 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 300 + */ |
gokhlayeh@7031 | 301 + Slot3(const parent_type& src) |
gokhlayeh@7031 | 302 + : parent_type(src) {} |
gokhlayeh@7031 | 303 + |
gokhlayeh@7031 | 304 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 305 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 306 + * @return @p this. |
gokhlayeh@7031 | 307 + */ |
gokhlayeh@7031 | 308 + Slot3& operator=(const parent_type& src) |
gokhlayeh@7031 | 309 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 310 +}; |
gokhlayeh@7031 | 311 + |
gokhlayeh@7031 | 312 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 313 + * Slot4 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 314 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 315 + * |
gokhlayeh@7031 | 316 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 317 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 318 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 319 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 320 + * - @e T_arg3 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 321 + * - @e T_arg4 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 322 + * |
gokhlayeh@7031 | 323 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 324 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 325 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 326 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 327 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 328 + * from operator()() temporarily. |
gokhlayeh@7031 | 329 + * |
gokhlayeh@7031 | 330 + * @par Example: |
gokhlayeh@7031 | 331 + * @code |
gokhlayeh@7031 | 332 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 333 + * void foo(int) {} |
gokhlayeh@7031 | 334 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 335 + * s(19); |
gokhlayeh@7031 | 336 + * @endcode |
gokhlayeh@7031 | 337 + * |
gokhlayeh@7031 | 338 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 339 + * @ingroup compat |
gokhlayeh@7031 | 340 + */ |
gokhlayeh@7031 | 341 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4> |
gokhlayeh@7031 | 342 +class Slot4 |
gokhlayeh@7031 | 343 + : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> |
gokhlayeh@7031 | 344 +{ |
gokhlayeh@7031 | 345 +public: |
gokhlayeh@7031 | 346 + typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4> parent_type; |
gokhlayeh@7031 | 347 + |
gokhlayeh@7031 | 348 + /// Constructs an empty slot. |
gokhlayeh@7031 | 349 + Slot4() {} |
gokhlayeh@7031 | 350 + |
gokhlayeh@7031 | 351 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 352 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 353 + */ |
gokhlayeh@7031 | 354 + template <class T_functor> |
gokhlayeh@7031 | 355 + Slot4(const T_functor& _A_func) |
gokhlayeh@7031 | 356 + : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func) {} |
gokhlayeh@7031 | 357 + |
gokhlayeh@7031 | 358 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 359 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 360 + */ |
gokhlayeh@7031 | 361 + Slot4(const parent_type& src) |
gokhlayeh@7031 | 362 + : parent_type(src) {} |
gokhlayeh@7031 | 363 + |
gokhlayeh@7031 | 364 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 365 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 366 + * @return @p this. |
gokhlayeh@7031 | 367 + */ |
gokhlayeh@7031 | 368 + Slot4& operator=(const parent_type& src) |
gokhlayeh@7031 | 369 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 370 +}; |
gokhlayeh@7031 | 371 + |
gokhlayeh@7031 | 372 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 373 + * Slot5 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 374 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 375 + * |
gokhlayeh@7031 | 376 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 377 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 378 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 379 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 380 + * - @e T_arg3 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 381 + * - @e T_arg4 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 382 + * - @e T_arg5 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 383 + * |
gokhlayeh@7031 | 384 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 385 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 386 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 387 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 388 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 389 + * from operator()() temporarily. |
gokhlayeh@7031 | 390 + * |
gokhlayeh@7031 | 391 + * @par Example: |
gokhlayeh@7031 | 392 + * @code |
gokhlayeh@7031 | 393 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 394 + * void foo(int) {} |
gokhlayeh@7031 | 395 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 396 + * s(19); |
gokhlayeh@7031 | 397 + * @endcode |
gokhlayeh@7031 | 398 + * |
gokhlayeh@7031 | 399 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 400 + * @ingroup compat |
gokhlayeh@7031 | 401 + */ |
gokhlayeh@7031 | 402 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5> |
gokhlayeh@7031 | 403 +class Slot5 |
gokhlayeh@7031 | 404 + : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> |
gokhlayeh@7031 | 405 +{ |
gokhlayeh@7031 | 406 +public: |
gokhlayeh@7031 | 407 + typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> parent_type; |
gokhlayeh@7031 | 408 + |
gokhlayeh@7031 | 409 + /// Constructs an empty slot. |
gokhlayeh@7031 | 410 + Slot5() {} |
gokhlayeh@7031 | 411 + |
gokhlayeh@7031 | 412 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 413 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 414 + */ |
gokhlayeh@7031 | 415 + template <class T_functor> |
gokhlayeh@7031 | 416 + Slot5(const T_functor& _A_func) |
gokhlayeh@7031 | 417 + : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func) {} |
gokhlayeh@7031 | 418 + |
gokhlayeh@7031 | 419 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 420 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 421 + */ |
gokhlayeh@7031 | 422 + Slot5(const parent_type& src) |
gokhlayeh@7031 | 423 + : parent_type(src) {} |
gokhlayeh@7031 | 424 + |
gokhlayeh@7031 | 425 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 426 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 427 + * @return @p this. |
gokhlayeh@7031 | 428 + */ |
gokhlayeh@7031 | 429 + Slot5& operator=(const parent_type& src) |
gokhlayeh@7031 | 430 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 431 +}; |
gokhlayeh@7031 | 432 + |
gokhlayeh@7031 | 433 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 434 + * Slot6 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 435 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 436 + * |
gokhlayeh@7031 | 437 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 438 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 439 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 440 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 441 + * - @e T_arg3 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 442 + * - @e T_arg4 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 443 + * - @e T_arg5 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 444 + * - @e T_arg6 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 445 + * |
gokhlayeh@7031 | 446 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 447 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 448 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 449 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 450 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 451 + * from operator()() temporarily. |
gokhlayeh@7031 | 452 + * |
gokhlayeh@7031 | 453 + * @par Example: |
gokhlayeh@7031 | 454 + * @code |
gokhlayeh@7031 | 455 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 456 + * void foo(int) {} |
gokhlayeh@7031 | 457 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 458 + * s(19); |
gokhlayeh@7031 | 459 + * @endcode |
gokhlayeh@7031 | 460 + * |
gokhlayeh@7031 | 461 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 462 + * @ingroup compat |
gokhlayeh@7031 | 463 + */ |
gokhlayeh@7031 | 464 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6> |
gokhlayeh@7031 | 465 +class Slot6 |
gokhlayeh@7031 | 466 + : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> |
gokhlayeh@7031 | 467 +{ |
gokhlayeh@7031 | 468 +public: |
gokhlayeh@7031 | 469 + typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> parent_type; |
gokhlayeh@7031 | 470 + |
gokhlayeh@7031 | 471 + /// Constructs an empty slot. |
gokhlayeh@7031 | 472 + Slot6() {} |
gokhlayeh@7031 | 473 + |
gokhlayeh@7031 | 474 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 475 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 476 + */ |
gokhlayeh@7031 | 477 + template <class T_functor> |
gokhlayeh@7031 | 478 + Slot6(const T_functor& _A_func) |
gokhlayeh@7031 | 479 + : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func) {} |
gokhlayeh@7031 | 480 + |
gokhlayeh@7031 | 481 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 482 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 483 + */ |
gokhlayeh@7031 | 484 + Slot6(const parent_type& src) |
gokhlayeh@7031 | 485 + : parent_type(src) {} |
gokhlayeh@7031 | 486 + |
gokhlayeh@7031 | 487 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 488 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 489 + * @return @p this. |
gokhlayeh@7031 | 490 + */ |
gokhlayeh@7031 | 491 + Slot6& operator=(const parent_type& src) |
gokhlayeh@7031 | 492 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 493 +}; |
gokhlayeh@7031 | 494 + |
gokhlayeh@7031 | 495 +/** Converts an arbitrary functor to a unified type which is opaque. |
gokhlayeh@7031 | 496 + * Slot7 itself is a functor or to be more precise a closure. It contains |
gokhlayeh@7031 | 497 + * a single, arbitrary functor (or closure) that is executed in operator()(). |
gokhlayeh@7031 | 498 + * |
gokhlayeh@7031 | 499 + * The template arguments determine the function signature of operator()(): |
gokhlayeh@7031 | 500 + * - @e T_return The return type of operator()(). |
gokhlayeh@7031 | 501 + * - @e T_arg1 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 502 + * - @e T_arg2 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 503 + * - @e T_arg3 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 504 + * - @e T_arg4 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 505 + * - @e T_arg5 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 506 + * - @e T_arg6 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 507 + * - @e T_arg7 Argument type used in the definition of operator()(). |
gokhlayeh@7031 | 508 + * |
gokhlayeh@7031 | 509 + * To use simply assign the slot to the desired functor. If the functor |
gokhlayeh@7031 | 510 + * is not compatible with the parameter list defined with the template |
gokhlayeh@7031 | 511 + * arguments compiler errors are triggered. When called the slot |
gokhlayeh@7031 | 512 + * will invoke the functor with minimal copies. |
gokhlayeh@7031 | 513 + * block() and unblock() can be used to block the functor's invocation |
gokhlayeh@7031 | 514 + * from operator()() temporarily. |
gokhlayeh@7031 | 515 + * |
gokhlayeh@7031 | 516 + * @par Example: |
gokhlayeh@7031 | 517 + * @code |
gokhlayeh@7031 | 518 + * #include <sigc++/slot.h> |
gokhlayeh@7031 | 519 + * void foo(int) {} |
gokhlayeh@7031 | 520 + * SigC::Slot1<void, long> s = SigC::slot(&foo); |
gokhlayeh@7031 | 521 + * s(19); |
gokhlayeh@7031 | 522 + * @endcode |
gokhlayeh@7031 | 523 + * |
gokhlayeh@7031 | 524 + * @deprecated Use the unnumbered template sigc::slot instead. |
gokhlayeh@7031 | 525 + * @ingroup compat |
gokhlayeh@7031 | 526 + */ |
gokhlayeh@7031 | 527 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7> |
gokhlayeh@7031 | 528 +class Slot7 |
gokhlayeh@7031 | 529 + : public ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> |
gokhlayeh@7031 | 530 { |
gokhlayeh@7031 | 531 +public: |
gokhlayeh@7031 | 532 + typedef ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> parent_type; |
gokhlayeh@7031 | 533 + |
gokhlayeh@7031 | 534 + /// Constructs an empty slot. |
gokhlayeh@7031 | 535 + Slot7() {} |
gokhlayeh@7031 | 536 + |
gokhlayeh@7031 | 537 + /** Constructs a slot from an arbitrary functor. |
gokhlayeh@7031 | 538 + * @param _A_func The desired functor the new slot should be assigned to. |
gokhlayeh@7031 | 539 + */ |
gokhlayeh@7031 | 540 + template <class T_functor> |
gokhlayeh@7031 | 541 + Slot7(const T_functor& _A_func) |
gokhlayeh@7031 | 542 + : ::sigc::slot<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func) {} |
gokhlayeh@7031 | 543 + |
gokhlayeh@7031 | 544 + /** Constructs a slot, copying an existing one. |
gokhlayeh@7031 | 545 + * @param src The existing slot to copy. |
gokhlayeh@7031 | 546 + */ |
gokhlayeh@7031 | 547 + Slot7(const parent_type& src) |
gokhlayeh@7031 | 548 + : parent_type(src) {} |
gokhlayeh@7031 | 549 + |
gokhlayeh@7031 | 550 + /** Overrides this slot making a copy from another slot. |
gokhlayeh@7031 | 551 + * @param src The slot from which to make a copy. |
gokhlayeh@7031 | 552 + * @return @p this. |
gokhlayeh@7031 | 553 + */ |
gokhlayeh@7031 | 554 + Slot7& operator=(const parent_type& src) |
gokhlayeh@7031 | 555 + { parent_type::operator=(src); return *this; } |
gokhlayeh@7031 | 556 +}; |
gokhlayeh@7031 | 557 + |
gokhlayeh@7031 | 558 + |
gokhlayeh@7031 | 559 + |
gokhlayeh@7031 | 560 +#ifndef DOXYGEN_SHOULD_SKIP_THIS |
gokhlayeh@7031 | 561 +/* gcc 3.2 reports a strange conflict between SigC::slot() and sigc::slot<> |
gokhlayeh@7031 | 562 + * when "using namespace SigC" and later using a slot(obj,func) overload |
gokhlayeh@7031 | 563 + * without the prefix "SigC::". Probably a compiler bug. I will investigate. |
gokhlayeh@7031 | 564 + * |
gokhlayeh@7031 | 565 + * This ugly hack avoids the error: |
gokhlayeh@7031 | 566 + */ |
gokhlayeh@7031 | 567 +// #define slot(...) make_slot(__VA_ARGS__) /* only works for gcc */ |
gokhlayeh@7031 | 568 +#endif |
gokhlayeh@7031 | 569 |
gokhlayeh@7031 | 570 + |
gokhlayeh@7031 | 571 +// slot() |
gokhlayeh@7031 | 572 +/** Creates a functor of type SigC::Slot0 that wraps an existing non-member function. |
gokhlayeh@7031 | 573 + * |
gokhlayeh@7031 | 574 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 575 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 576 + * |
gokhlayeh@7031 | 577 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 578 + * @ingroup compat |
gokhlayeh@7031 | 579 + */ |
gokhlayeh@7031 | 580 +template <class T_return> |
gokhlayeh@7031 | 581 +inline Slot0<T_return> |
gokhlayeh@7031 | 582 +slot(T_return (*_A_func)()) |
gokhlayeh@7031 | 583 +{ return Slot0<T_return>(_A_func); } |
gokhlayeh@7031 | 584 + |
gokhlayeh@7031 | 585 +/** Creates a functor of type SigC::Slot1 that wraps an existing non-member function. |
gokhlayeh@7031 | 586 + * |
gokhlayeh@7031 | 587 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 588 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 589 + * |
gokhlayeh@7031 | 590 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 591 + * @ingroup compat |
gokhlayeh@7031 | 592 + */ |
gokhlayeh@7031 | 593 +template <class T_return, class T_arg1> |
gokhlayeh@7031 | 594 +inline Slot1<T_return, T_arg1> |
gokhlayeh@7031 | 595 +slot(T_return (*_A_func)(T_arg1)) |
gokhlayeh@7031 | 596 +{ return Slot1<T_return, T_arg1>(_A_func); } |
gokhlayeh@7031 | 597 + |
gokhlayeh@7031 | 598 +/** Creates a functor of type SigC::Slot2 that wraps an existing non-member function. |
gokhlayeh@7031 | 599 + * |
gokhlayeh@7031 | 600 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 601 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 602 + * |
gokhlayeh@7031 | 603 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 604 + * @ingroup compat |
gokhlayeh@7031 | 605 + */ |
gokhlayeh@7031 | 606 +template <class T_return, class T_arg1,class T_arg2> |
gokhlayeh@7031 | 607 +inline Slot2<T_return, T_arg1,T_arg2> |
gokhlayeh@7031 | 608 +slot(T_return (*_A_func)(T_arg1,T_arg2)) |
gokhlayeh@7031 | 609 +{ return Slot2<T_return, T_arg1,T_arg2>(_A_func); } |
gokhlayeh@7031 | 610 + |
gokhlayeh@7031 | 611 +/** Creates a functor of type SigC::Slot3 that wraps an existing non-member function. |
gokhlayeh@7031 | 612 + * |
gokhlayeh@7031 | 613 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 614 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 615 + * |
gokhlayeh@7031 | 616 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 617 + * @ingroup compat |
gokhlayeh@7031 | 618 + */ |
gokhlayeh@7031 | 619 +template <class T_return, class T_arg1,class T_arg2,class T_arg3> |
gokhlayeh@7031 | 620 +inline Slot3<T_return, T_arg1,T_arg2,T_arg3> |
gokhlayeh@7031 | 621 +slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3)) |
gokhlayeh@7031 | 622 +{ return Slot3<T_return, T_arg1,T_arg2,T_arg3>(_A_func); } |
gokhlayeh@7031 | 623 + |
gokhlayeh@7031 | 624 +/** Creates a functor of type SigC::Slot4 that wraps an existing non-member function. |
gokhlayeh@7031 | 625 + * |
gokhlayeh@7031 | 626 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 627 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 628 + * |
gokhlayeh@7031 | 629 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 630 + * @ingroup compat |
gokhlayeh@7031 | 631 + */ |
gokhlayeh@7031 | 632 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4> |
gokhlayeh@7031 | 633 +inline Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4> |
gokhlayeh@7031 | 634 +slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4)) |
gokhlayeh@7031 | 635 +{ return Slot4<T_return, T_arg1,T_arg2,T_arg3,T_arg4>(_A_func); } |
gokhlayeh@7031 | 636 + |
gokhlayeh@7031 | 637 +/** Creates a functor of type SigC::Slot5 that wraps an existing non-member function. |
gokhlayeh@7031 | 638 + * |
gokhlayeh@7031 | 639 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 640 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 641 + * |
gokhlayeh@7031 | 642 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 643 + * @ingroup compat |
gokhlayeh@7031 | 644 + */ |
gokhlayeh@7031 | 645 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5> |
gokhlayeh@7031 | 646 +inline Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5> |
gokhlayeh@7031 | 647 +slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5)) |
gokhlayeh@7031 | 648 +{ return Slot5<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5>(_A_func); } |
gokhlayeh@7031 | 649 + |
gokhlayeh@7031 | 650 +/** Creates a functor of type SigC::Slot6 that wraps an existing non-member function. |
gokhlayeh@7031 | 651 + * |
gokhlayeh@7031 | 652 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 653 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 654 + * |
gokhlayeh@7031 | 655 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 656 + * @ingroup compat |
gokhlayeh@7031 | 657 + */ |
gokhlayeh@7031 | 658 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6> |
gokhlayeh@7031 | 659 +inline Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6> |
gokhlayeh@7031 | 660 +slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6)) |
gokhlayeh@7031 | 661 +{ return Slot6<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6>(_A_func); } |
gokhlayeh@7031 | 662 + |
gokhlayeh@7031 | 663 +/** Creates a functor of type SigC::Slot7 that wraps an existing non-member function. |
gokhlayeh@7031 | 664 + * |
gokhlayeh@7031 | 665 + * @param _A_func Pointer to function that should be wrapped. |
gokhlayeh@7031 | 666 + * @return Functor that executes _A_func on invokation. |
gokhlayeh@7031 | 667 + * |
gokhlayeh@7031 | 668 + * @deprecated Use sigc::ptr_fun() instead. |
gokhlayeh@7031 | 669 + * @ingroup compat |
gokhlayeh@7031 | 670 + */ |
gokhlayeh@7031 | 671 +template <class T_return, class T_arg1,class T_arg2,class T_arg3,class T_arg4,class T_arg5,class T_arg6,class T_arg7> |
gokhlayeh@7031 | 672 +inline Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7> |
gokhlayeh@7031 | 673 +slot(T_return (*_A_func)(T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7)) |
gokhlayeh@7031 | 674 +{ return Slot7<T_return, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7>(_A_func); } |
gokhlayeh@7031 | 675 + |
gokhlayeh@7031 | 676 + |
gokhlayeh@7031 | 677 + |
gokhlayeh@7031 | 678 +} |
gokhlayeh@7031 | 679 + |
gokhlayeh@7031 | 680 +// From sigc++/object.h |
gokhlayeh@7031 | 681 +namespace SigC { |
gokhlayeh@7031 | 682 + |
gokhlayeh@7031 | 683 +// Object |
gokhlayeh@7031 | 684 +typedef ::sigc::trackable Object; |
gokhlayeh@7031 | 685 + |
gokhlayeh@7031 | 686 +} |
gokhlayeh@7031 | 687 + |
gokhlayeh@7031 | 688 +namespace SigC |
gokhlayeh@7031 | 689 +{ |
gokhlayeh@7031 | 690 template <class T_return, class T_obj1, class T_obj2> |
gokhlayeh@7031 | 691 inline Slot0<T_return> |
gokhlayeh@7031 | 692 slot( T_obj1& _A_obj, T_return (T_obj2::*_A_func)() ) |