Main Page Groups Namespaces

# functor_trait.h File Reference

## Namespaces

namespace | sigc

## Classes

struct | sigc::functor_base
| A hint to the compiler. More...
struct | sigc::functor_trait<T_functor, I_derives_functor_base>
struct | sigc::functor_trait<T_functor, true>
struct | sigc::functor_trait<T_return(*)(), false>
struct | sigc::functor_trait<T_return(*)(T_arg1), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2, T_arg3), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2, T_arg3, T_arg4), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6), false>
struct | sigc::functor_trait<T_return(*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7), false>
struct | sigc::functor_trait<T_return(T_obj::*)(), false>
struct | sigc::functor_trait<T_return(T_obj::*)() const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6) const, false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7), false>
struct | sigc::functor_trait<T_return(T_obj::*)(T_arg1, T_arg2, T_arg3, T_arg4, T_arg5, T_arg6, T_arg7) const, false>

## Defines

#define | SIGC_FUNCTORS_HAVE_RESULT_TYPE

If you want to mix functors from a different library with libsigc++ and these functors define `result_type` simply use this macro inside namespace sigc like so:

     namespace sigc { SIGC_FUNCTORS_HAVE_RESULT_TYPE }

.

#define | SIGC_FUNCTOR_TRAIT(T_functor, T_return)

If you want to mix functors from a different library with libsigc++ and these functors don't define `result_type` use this macro inside namespace sigc to expose the return type of the functors like so:

     namespace sigc {
       SIGC_FUNCTOR_TRAIT(first_functor_type, return_type_of_first_functor_type)
       SIGC_FUNCTOR_TRAIT(second_functor_type, return_type_of_second_functor_type)
       ...
     }

.