// -*- c++ -*- /* Do not edit! -- generated file */ #ifndef _SIGC_ADAPTORS_MACROS_RETYPEHM4_ #define _SIGC_ADAPTORS_MACROS_RETYPEHM4_ #include #include #include #include namespace sigc { /** @defgroup retype retype(), retype_return() * sigc::retype() alters a sigc::pointer_functor, a sigc::mem_functor or a sigc::slot * in that it makes C-style casts to the functor's parameter types * of all parameters passed through operator()(). * * Use this adaptor for inline conversion between numeric or other simple types. * @par Example: * @code * void foo(int); * sigc::retype(sigc::ptr_fun(&foo))(5.7F); // calls foo(5) * @endcode * * The functor sigc::retype() returns can be passed into * sigc::signal::connect() directly. * * @par Example: * @code * sigc::signal some_signal; * void foo(int); * some_signal.connect(sigc::retype(sigc::ptr_fun(&foo))); * @endcode * * This adaptor builds an exception in that it only works on sig::pointer_functor, * sigc::mem_functor and sigc::slot because it needs sophisticated information about * the parameter types that cannot be deduced from arbitrary functor types. * * sigc::retype_return() alters the return type of an arbitrary functor. * Like in sigc::retype() a C-style cast is preformed. Usage sigc::retype_return() is * not restricted to libsigc++ functor types but you need to * specify the new return type as a template parameter. * * @par Example: * @code * float foo(); * std::cout << sigc::retype_return(&foo)(); // converts foo's return value to an integer * @endcode * * @ingroup adaptors */ /** Adaptor that performs C-style casts on the parameters passed on to the functor. * Use the convenience function sigc::retype() to create an instance of retype_functor. * * The following template arguments are used: * - @e T_functor Type of the functor to wrap. * - @e T_type1 Type of @e T_functor's 1th argument. * - @e T_type2 Type of @e T_functor's 2th argument. * - @e T_type3 Type of @e T_functor's 3th argument. * - @e T_type4 Type of @e T_functor's 4th argument. * - @e T_type5 Type of @e T_functor's 5th argument. * - @e T_type6 Type of @e T_functor's 6th argument. * - @e T_type7 Type of @e T_functor's 7th argument. * * @ingroup retype */ template struct retype_functor : public adapts { typedef typename adapts::adaptor_type adaptor_type; template struct deduce_result_type { typedef typename adaptor_type::template deduce_result_type::pass,typename type_trait::pass,typename type_trait::pass,typename type_trait::pass,typename type_trait::pass,typename type_trait::pass,typename type_trait::pass>::type type; }; typedef typename adapts::result_type result_type; result_type operator()(); template typename deduce_result_type::type operator()(T_arg1 _A_a1) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take> ((T_type1)_A_a1); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take> ((T_type1)_A_a1); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6); } #endif template typename deduce_result_type::type operator()(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7); } #ifndef SIGC_TEMPLATE_SPECIALIZATION_OPERATOR_OVERLOAD template typename deduce_result_type::type sun_forte_workaround(T_arg1 _A_a1,T_arg2 _A_a2,T_arg3 _A_a3,T_arg4 _A_a4,T_arg5 _A_a5,T_arg6 _A_a6,T_arg7 _A_a7) { return this->functor_.SIGC_WORKAROUND_OPERATOR_PARENTHESES::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take,typename type_trait::take> ((T_type1)_A_a1,(T_type2)_A_a2,(T_type3)_A_a3,(T_type4)_A_a4,(T_type5)_A_a5,(T_type6)_A_a6,(T_type7)_A_a7); } #endif /** Constructs a retype_functor object that performs C-style casts on the parameters passed on to the functor. * @param _A_functor Functor to invoke from operator()(). */ explicit retype_functor(typename type_trait::take _A_functor) : adapts(_A_functor) {} }; template typename retype_functor::result_type retype_functor::operator()() { return this->functor_(); } /** Performs a functor on each of the targets of a functor. * The function overload for sigc::retype_functor performs a functor on the * functor stored in the sigc::retype_functor object. * * @ingroup retype */ template void visit_each(const T_action& _A_action, const retype_functor& _A_target) { visit_each(_A_action, _A_target.functor_); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::slot. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const slot& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const pointer_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const pointer_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const pointer_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const pointer_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const pointer_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const pointer_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const pointer_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::pointer_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const pointer_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const const_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const const_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const const_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const const_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const const_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const const_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const const_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const const_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const volatile_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const volatile_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const volatile_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const volatile_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const volatile_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const volatile_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const volatile_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const volatile_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const const_volatile_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const const_volatile_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const const_volatile_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const const_volatile_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const const_volatile_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const const_volatile_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const const_volatile_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const const_volatile_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const bound_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const bound_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const bound_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const bound_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const bound_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const bound_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const bound_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const bound_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const bound_const_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const bound_const_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const bound_const_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const bound_const_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const bound_const_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const bound_const_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const bound_const_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const bound_const_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const bound_volatile_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const bound_volatile_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const bound_volatile_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const bound_volatile_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const bound_volatile_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const bound_volatile_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const bound_volatile_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const bound_volatile_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor > retype(const bound_const_volatile_mem_functor0& _A_functor) { return retype_functor > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1 > retype(const bound_const_volatile_mem_functor1& _A_functor) { return retype_functor, T_arg1 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2 > retype(const bound_const_volatile_mem_functor2& _A_functor) { return retype_functor, T_arg1,T_arg2 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3 > retype(const bound_const_volatile_mem_functor3& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > retype(const bound_const_volatile_mem_functor4& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > retype(const bound_const_volatile_mem_functor5& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > retype(const bound_const_volatile_mem_functor6& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6 > (_A_functor); } /** Creates an adaptor of type sigc::retype_functor which performs C-style casts on the parameters passed on to the functor. * This function template specialization works on sigc::bound_const_volatile_mem_functor. * * @param _A_functor Functor that should be wrapped. * @return Adaptor that executes @e _A_functor performing C-style casts on the paramters passed on. * * @ingroup retype */ template inline retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > retype(const bound_const_volatile_mem_functor7& _A_functor) { return retype_functor, T_arg1,T_arg2,T_arg3,T_arg4,T_arg5,T_arg6,T_arg7 > (_A_functor); } } /* namespace sigc */ #endif /* _SIGC_ADAPTORS_MACROS_RETYPEHM4_ */