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.

Public Types

typedef FunctorImpl< R, TList,
ThreadingModel > 
Impl
typedef R ResultType
typedef TList ParmList
typedef Impl::Parm1 Parm1
typedef Impl::Parm2 Parm2
typedef Impl::Parm3 Parm3
typedef Impl::Parm4 Parm4
typedef Impl::Parm5 Parm5
typedef Impl::Parm6 Parm6
typedef Impl::Parm7 Parm7
typedef Impl::Parm8 Parm8
typedef Impl::Parm9 Parm9
typedef Impl::Parm10 Parm10
typedef Impl::Parm11 Parm11
typedef Impl::Parm12 Parm12
typedef Impl::Parm13 Parm13
typedef Impl::Parm14 Parm14
typedef Impl::Parm15 Parm15
typedef Impl *(std::auto_ptr<
Impl >::*) 
unspecified_bool_type () const

Public Member Functions

 Functor ()
 Functor (const Functor &rhs)
 Functor (std::auto_ptr< Impl > spImpl)
template<typename Fun>
 Functor (Fun fun)
template<class PtrObj, typename MemFn>
 Functor (const PtrObj &p, MemFn memFn)
 operator unspecified_bool_type () const
Functoroperator= (const Functor &rhs)
ResultType operator() () const
ResultType operator() (Parm1 p1) const
ResultType operator() (Parm1 p1, Parm2 p2) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14) const
ResultType operator() (Parm1 p1, Parm2 p2, Parm3 p3, Parm4 p4, Parm5 p5, Parm6 p6, Parm7 p7, Parm8 p8, Parm9 p9, Parm10 p10, Parm11 p11, Parm12 p12, Parm13 p13, Parm14 p14, Parm15 p15) const

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==.

Definition at line 1219 of file Functor.h.


The documentation for this class was generated from the following file:
Generated on Sun Feb 25 16:52:43 2007 for Loki by  doxygen 1.5.1-p1