|
OWLNext 7.0
Borland's Object Windows Library for the modern age
|
C++ Functor template implementation. More...
#include <owl/private/defs.h>#include <ctype.h>#include <owl/preclass.h>#include <owl/posclass.h>Go to the source code of this file.
Namespaces | |
| namespace | owl |
| Object Windows Library (OWLNext Core). | |
Macros | |
| #define | BDTF_H |
| #define | OWL_FUNCTOR_H |
| #define | THUNKREF(th) |
Functions | |
| template<class TRT> | |
| TFunctorV0 | owl::Functor (TFunctorV0 *, TRT(*f)()) |
| template<class TCallee, class TRT, class TCallType> | |
| TFunctorV0 | owl::Functor (TFunctorV0 *, TCallee &c, TRT(TCallType::*const &f)()) |
| template<class TCallee, class TRT, class TCallType> | |
| TFunctorV0 | owl::Functor (TFunctorV0 *, const TCallee &c, TRT(TCallType::*const &f)() const) |
| template<class R, class TRT> | |
| TFunctor0< R > | owl::Functor (TFunctor0< R > *, TRT(*f)()) |
| template<class R, class TCallee, class TRT, class TCallType> | |
| TFunctor0< R > | owl::Functor (TFunctor0< R > *, TCallee &c, TRT(TCallType::*const &f)()) |
| template<class R, class TCallee, class TRT, class TCallType> | |
| TFunctor0< R > | owl::Functor (TFunctor0< R > *, const TCallee &c, TRT(TCallType::*const &f)() const) |
| template<class P1, class TRT, class TP1> | |
| TFunctorV1< P1 > | owl::Functor (TFunctorV1< P1 > *, TRT(*f)(TP1)) |
| template<class P1, class TCallee, class TRT, class TCallType, class TP1> | |
| TFunctorV1< P1 > | owl::Functor (TFunctorV1< P1 > *, TCallee &c, TRT(TCallType::*const &f)(TP1)) |
| template<class P1, class TCallee, class TRT, class TCallType, class TP1> | |
| TFunctorV1< P1 > | owl::Functor (TFunctorV1< P1 > *, const TCallee &c, TRT(TCallType::*const &f)(TP1) const) |
| template<class R, class P1, class TRT, class TP1> | |
| TFunctor1< R, P1 > | owl::Functor (TFunctor1< R, P1 > *, TRT(*f)(TP1)) |
| template<class R, class P1, class TCallee, class TRT, class TCallType, class TP1> | |
| TFunctor1< R, P1 > | owl::Functor (TFunctor1< R, P1 > *, TCallee &c, TRT(TCallType::*const &f)(TP1)) |
| template<class R, class P1, class TCallee, class TRT, class TCallType, class TP1> | |
| TFunctor1< R, P1 > | owl::Functor (TFunctor1< R, P1 > *, const TCallee &c, TRT(TCallType::*const &f)(TP1) const) |
| template<class P1, class P2, class TRT, class TP1, class TP2> | |
| TFunctorV2< P1, P2 > | owl::Functor (TFunctorV2< P1, P2 > *, TRT(*f)(TP1, TP2)) |
| template<class P1, class P2, class TCallee, class TRT, class TCallType, class TP1, class TP2> | |
| TFunctorV2< P1, P2 > | owl::Functor (TFunctorV2< P1, P2 > *, TCallee &c, TRT(TCallType::*const &f)(TP1, TP2)) |
| template<class P1, class P2, class TCallee, class TRT, class TCallType, class TP1, class TP2> | |
| TFunctorV2< P1, P2 > | owl::Functor (TFunctorV2< P1, P2 > *, const TCallee &c, TRT(TCallType::*const &f)(TP1, TP2) const) |
| template<class R, class P1, class P2, class TRT, class TP1, class TP2> | |
| TFunctor2< R, P1, P2 > | owl::Functor (TFunctor2< R, P1, P2 > *, TRT(*f)(TP1, TP2)) |
| template<class R, class P1, class P2, class TCallee, class TRT, class TCallType, class TP1, class TP2> | |
| TFunctor2< R, P1, P2 > | owl::Functor (TFunctor2< R, P1, P2 > *, TCallee &c, TRT(TCallType::*const &f)(TP1, TP2)) |
| template<class R, class P1, class P2, class TCallee, class TRT, class TCallType, class TP1, class TP2> | |
| TFunctor2< R, P1, P2 > | owl::Functor (TFunctor2< R, P1, P2 > *, const TCallee &c, TRT(TCallType::*const &f)(TP1, TP2) const) |
| template<class P1, class P2, class P3, class TRT, class TP1, class TP2, class TP3> | |
| TFunctorV3< P1, P2, P3 > | owl::Functor (TFunctorV3< P1, P2, P3 > *, TRT(*f)(TP1, TP2, TP3)) |
| template<class P1, class P2, class P3, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3> | |
| TFunctorV3< P1, P2, P3 > | owl::Functor (TFunctorV3< P1, P2, P3 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3)) |
| template<class P1, class P2, class P3, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3> | |
| TFunctorV3< P1, P2, P3 > | owl::Functor (TFunctorV3< P1, P2, P3 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3) const) |
| template<class R, class P1, class P2, class P3, class TRT, class TP1, class TP2, class TP3> | |
| TFunctor3< R, P1, P2, P3 > | owl::Functor (TFunctor3< R, P1, P2, P3 > *, TRT(*f)(TP1, TP2, TP3)) |
| template<class R, class P1, class P2, class P3, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3> | |
| TFunctor3< R, P1, P2, P3 > | owl::Functor (TFunctor3< R, P1, P2, P3 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3)) |
| template<class R, class P1, class P2, class P3, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3> | |
| TFunctor3< R, P1, P2, P3 > | owl::Functor (TFunctor3< R, P1, P2, P3 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3) const) |
| template<class P1, class P2, class P3, class P4, class TRT, class TP1, class TP2, class TP3, class TP4> | |
| TFunctorV4< P1, P2, P3, P4 > | owl::Functor (TFunctorV4< P1, P2, P3, P4 > *, TRT(*f)(TP1, TP2, TP3, TP4)) |
| template<class P1, class P2, class P3, class P4, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4> | |
| TFunctorV4< P1, P2, P3, P4 > | owl::Functor (TFunctorV4< P1, P2, P3, P4 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4)) |
| template<class P1, class P2, class P3, class P4, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4> | |
| TFunctorV4< P1, P2, P3, P4 > | owl::Functor (TFunctorV4< P1, P2, P3, P4 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4) const) |
| template<class R, class P1, class P2, class P3, class P4, class TRT, class TP1, class TP2, class TP3, class TP4> | |
| TFunctor4< R, P1, P2, P3, P4 > | owl::Functor (TFunctor4< R, P1, P2, P3, P4 > *, TRT(*f)(TP1, TP2, TP3, TP4)) |
| template<class R, class P1, class P2, class P3, class P4, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4> | |
| TFunctor4< R, P1, P2, P3, P4 > | owl::Functor (TFunctor4< R, P1, P2, P3, P4 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4)) |
| template<class R, class P1, class P2, class P3, class P4, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4> | |
| TFunctor4< R, P1, P2, P3, P4 > | owl::Functor (TFunctor4< R, P1, P2, P3, P4 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4) const) |
| template<class P1, class P2, class P3, class P4, class P5, class TRT, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctorV5< P1, P2, P3, P4, P5 > | owl::Functor (TFunctorV5< P1, P2, P3, P4, P5 > *, TRT(*f)(TP1, TP2, TP3, TP4, TP5)) |
| template<class P1, class P2, class P3, class P4, class P5, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctorV5< P1, P2, P3, P4, P5 > | owl::Functor (TFunctorV5< P1, P2, P3, P4, P5 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5)) |
| template<class P1, class P2, class P3, class P4, class P5, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctorV5< P1, P2, P3, P4, P5 > | owl::Functor (TFunctorV5< P1, P2, P3, P4, P5 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5) const) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class TRT, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctor5< R, P1, P2, P3, P4, P5 > | owl::Functor (TFunctor5< R, P1, P2, P3, P4, P5 > *, TRT(*f)(TP1, TP2, TP3, TP4, TP5)) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctor5< R, P1, P2, P3, P4, P5 > | owl::Functor (TFunctor5< R, P1, P2, P3, P4, P5 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5)) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5> | |
| TFunctor5< R, P1, P2, P3, P4, P5 > | owl::Functor (TFunctor5< R, P1, P2, P3, P4, P5 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5) const) |
| template<class P1, class P2, class P3, class P4, class P5, class P6, class TRT, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctorV6< P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctorV6< P1, P2, P3, P4, P5, P6 > *, TRT(*f)(TP1, TP2, TP3, TP4, TP5, TP6)) |
| template<class P1, class P2, class P3, class P4, class P5, class P6, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctorV6< P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctorV6< P1, P2, P3, P4, P5, P6 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5, TP6)) |
| template<class P1, class P2, class P3, class P4, class P5, class P6, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctorV6< P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctorV6< P1, P2, P3, P4, P5, P6 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5, TP6) const) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class P6, class TRT, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctor6< R, P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctor6< R, P1, P2, P3, P4, P5, P6 > *, TRT(*f)(TP1, TP2, TP3, TP4, TP5, TP6)) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class P6, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctor6< R, P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctor6< R, P1, P2, P3, P4, P5, P6 > *, TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5, TP6)) |
| template<class R, class P1, class P2, class P3, class P4, class P5, class P6, class TCallee, class TRT, class CallType, class TP1, class TP2, class TP3, class TP4, class TP5, class TP6> | |
| TFunctor6< R, P1, P2, P3, P4, P5, P6 > | owl::Functor (TFunctor6< R, P1, P2, P3, P4, P5, P6 > *, const TCallee &c, TRT(CallType::*const &f)(TP1, TP2, TP3, TP4, TP5, TP6) const) |
C++ Functor template implementation.
The templates meant for actual end use are:
Void return, N arguments
Return R, N arguments
The Functor() template function is invoked to create a temporary translator to initialize the actual functor. Currently, the first argument to Functor() must be a dummy pointer to the desired TFunctor template. When templatized member functions are available, this arg will be eliminated.
Based on Functors described in Rich Hickey's 'Callbacks in C++ using template functors' Feb 95 C++ Report
Definition in file functor.h.