libsigc++: sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 > Class Template Reference

# sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 > Class Template Reference
[mem_fun()]

mem_functor2 wraps methods with 2 argument(s). More...

`#include <sigc++/functors/mem_fun.h>`

Inheritance diagram for sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 >:
[legend]

List of all members.

## Public Types

typedef T_return(T_obj::* | function_type )(T_arg1, T_arg2)
typedef T_return | result_type

## Public Member Functions

| mem_functor2 ()
| Constructs an invalid functor.
| mem_functor2 (function_type _A_func)
| Constructs a mem_functor2 object that wraps the passed method.
T_return | operator() (T_obj* _A_obj, typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2) const
| Execute the wrapped method operating on the passed instance.
T_return | operator() (T_obj& _A_obj, typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2) const
| Execute the wrapped method operating on the passed instance.

## Protected Attributes

function_type | func_ptr_

## Detailed Description

### template <class T_return, class T_obj, class T_arg1, class T_arg2>
class sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 >

mem_functor2 wraps methods with 2 argument(s).

Use the convenience function mem_fun() to create an instance of mem_functor2.

The following template arguments are used:

- T_arg1 Argument type used in the definition of operator()().
- T_arg2 Argument type used in the definition of operator()().
- T_return The return type of operator()().
- T_obj The object type.

## Constructor & Destructor Documentation

template <class T_return , class T_obj , class T_arg1 , class T_arg2 >

sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 >::mem_functor2 | ( | function_type | _A_func | ) | `[inline, explicit]`

Constructs a mem_functor2 object that wraps the passed method.

Parameters:

  | _A_func | Pointer to method will be invoked from operator()().

## Member Function Documentation

template <class T_return , class T_obj , class T_arg1 , class T_arg2 >

T_return sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 >::operator() | ( | T_obj & | _A_obj,
|  | typename type_trait< T_arg1 >::take | _A_a1,
|  | typename type_trait< T_arg2 >::take | _A_a2 |
| ) |  |  | const`[inline]`

Execute the wrapped method operating on the passed instance.

Parameters:

  | _A_obj | Reference to instance the method should operate on.
  | _A_a1 | Argument to be passed on to the method.
  | _A_a2 | Argument to be passed on to the method.

Returns:
  The return value of the method invocation.

template <class T_return , class T_obj , class T_arg1 , class T_arg2 >

T_return sigc::mem_functor2< T_return, T_obj, T_arg1, T_arg2 >::operator() | ( | T_obj * | _A_obj,
|  | typename type_trait< T_arg1 >::take | _A_a1,
|  | typename type_trait< T_arg2 >::take | _A_a2 |
| ) |  |  | const`[inline]`

Execute the wrapped method operating on the passed instance.

Parameters:

  | _A_obj | Pointer to instance the method should operate on.
  | _A_a1 | Argument to be passed on to the method.
  | _A_a2 | Argument to be passed on to the method.

Returns:
  The return value of the method invocation.