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

const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s). More...

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

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

List of all members.

## Public Types

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

## Public Member Functions

| const_volatile_mem_functor3 ()
| Constructs an invalid functor.
| const_volatile_mem_functor3 (function_type _A_func)
| Constructs a const_volatile_mem_functor3 object that wraps the passed method.
T_return | operator() (const T_obj* _A_obj, typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2, typename type_trait< T_arg3 >::take _A_a3) const
| Execute the wrapped method operating on the passed instance.
T_return | operator() (const T_obj& _A_obj, typename type_trait< T_arg1 >::take _A_a1, typename type_trait< T_arg2 >::take _A_a2, typename type_trait< T_arg3 >::take _A_a3) 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 T_arg3>
class sigc::const_volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 >

const_volatile_mem_functor3 wraps const volatile methods with 3 argument(s).

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

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_arg3 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 , class T_arg3 >

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

Constructs a const_volatile_mem_functor3 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 , class T_arg3 >

T_return sigc::const_volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 >::operator() | ( | const T_obj * | _A_obj,
|  | typename type_trait< T_arg1 >::take | _A_a1,
|  | typename type_trait< T_arg2 >::take | _A_a2,
|  | typename type_trait< T_arg3 >::take | _A_a3
| ) |  | 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.
  _A_a3 | 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 , class T_arg3 >

T_return sigc::const_volatile_mem_functor3< T_return, T_obj, T_arg1, T_arg2, T_arg3 >::operator() | ( | const T_obj & | _A_obj,
|  | typename type_trait< T_arg1 >::take | _A_a1,
|  | typename type_trait< T_arg2 >::take | _A_a2,
|  | typename type_trait< T_arg3 >::take | _A_a3
| ) |  | 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.
  _A_a3 | Argument to be passed on to the method.

Returns:
  The return value of the method invocation.