# Loki::Functor< R, TList, ThreadingModel > Class Template Reference
[Function objects]

`#include <Functor.h>`

Inheritance diagram for Loki::Functor< R, TList, ThreadingModel >:
[legend]

List of all members.

## Detailed Description

### template<typename R = void, class TList = NullType, template< class, class > class ThreadingModel = ::Loki::SingleThreaded>
class Loki::Functor< R, TList, ThreadingModel >

A generalized functor implementation with value semantics

Macro: LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT
  Define

       LOKI_FUNCTOR_IS_NOT_A_SMALLOBJECT

  to avoid static instantiation/delete order problems. It often helps against crashes when using static Functors and multi threading. Defining also removes problems when unloading Dlls which hosts static Functor objects.

Macro: LOKI_FUNCTORS_ARE_COMPARABLE
  To enable the operator== define the macro

       LOKI_FUNCTORS_ARE_COMPARABLE

  The macro is disabled by default, because it breaks compiling functor objects which have no operator== implemented, keep in mind when you enable operator==.

The documentation for this class was generated from the following file:

- Functor.h