libsigc++: ptr_fun()

libsigc++ 3.0.7

Classes | Functions
ptr_fun()
Functors

ptr_fun() creates a functor from a pointer to a function. More...

## Classes
class | sigc::pointer_functor< T_return, T_args >
| pointer_functor wraps existing non-member functions with, or without, arguments. More...

## Functions
template<typename T_return , typename... T_args>
decltype(auto) | sigc::ptr_fun (T_return(* func)(T_args...))
| Creates a functor of type sigc::pointer_functor which wraps an existing non-member function. More...

## Detailed Description

ptr_fun() creates a functor from a pointer to a function.

If the function pointer is to an overloaded type, you must specify the types using template arguments starting with the first argument. It is not necessary to supply the return type.

Example:
  void foo(int) {}
  sigc::slot<void(int)> sl = sigc::ptr_fun(&foo);
  sigc::ptr_fun
  decltype(auto) ptr_fun(T_return(*func)(T_args...))
  Creates a functor of type sigc::pointer_functor which wraps an existing non-member function.
  Definition: ptr_fun.h:105

Example:
  void foo(int) {} // choose this one
  void foo(float) {}
  void foo(int, int) {}
  sigc::slot<void(long)> sl = sigc::ptr_fun<void, int>(&foo);

ptr_fun() can also be used to convert a pointer to a static member function to a functor, like so:

Example:
  struct foo
  {
  static void bar(int) {}
  };
  sigc::slot<void(int)> sl = sigc::ptr_fun(&foo::bar);

## Function Documentation

## ◆ ptr_fun()

template <typename T_return , typename... T_args>

decltype(auto) sigc::ptr_fun | ( | T_return(*)(T_args...) | func | ) |
| inline

Creates a functor of type sigc::pointer_functor which wraps an existing non-member function.

Parameters

  func | Pointer to function that should be wrapped.

Returns
  Functor that executes func on invocation.