# Adaptors for pointers to members

## Compounds

class | const_mem_fun1_ref_t
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun1_ref_t< void, _Tp, _Arg >
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun1_t
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun1_t< void, _Tp, _Arg >
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun_ref_t
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun_ref_t< void, _Tp >
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun_t
| One of the adaptors for member pointers@endlink. More...
class | const_mem_fun_t< void, _Tp >
| One of the adaptors for member pointers@endlink. More...
class | mem_fun1_ref_t
| One of the adaptors for member pointers@endlink. More...
class | mem_fun1_ref_t< void, _Tp, _Arg >
| One of the adaptors for member pointers@endlink. More...
class | mem_fun1_t
| One of the adaptors for member pointers@endlink. More...
class | mem_fun1_t< void, _Tp, _Arg >
| One of the adaptors for member pointers@endlink. More...
class | mem_fun_ref_t
| One of the adaptors for member pointers@endlink. More...
class | mem_fun_ref_t< void, _Tp >
| One of the adaptors for member pointers@endlink. More...
class | mem_fun_t
| One of the adaptors for member pointers@endlink. More...
class | mem_fun_t< void, _Tp >
| One of the adaptors for member pointers@endlink. More...

## Detailed Description

There are a total of 16 = 2^4 function objects in this family. (1) Member functions taking no arguments vs member functions taking one argument. (2) Call through pointer vs call through reference. (3) Member function with void return type vs member function with non-void return type. (4) Const vs non-const member function.

Note that choice (3) is nothing more than a workaround: according to the draft, compilers should handle void and non-void the same way. This feature is not yet widely implemented, though. You can only use member functions returning void if your compiler supports partial specialization.

All of this complexity is in the function objects themselves. You can ignore it by using the helper function mem_fun and mem_fun_ref, which create whichever type of adaptor is appropriate.