SourcePro® API Reference Guide

 
List of all members
RWTFunctorR1Imp< SR, S1 > Class Template Reference

Deprecated. Abstract base class for the family of functor bodies that are invoked with one caller argument and return a value. More...

#include <rw/functor/RWTFunctorR1Imp.h>

Inherits RWTFunctorImpBase1< SR, S1 >.

Inherited by RWTFunctorR1GA1Imp< SR, S1, DR, D1, A1 >, RWTFunctorR1GA2Imp< SR, S1, DR, D1, A1, A2 >, RWTFunctorR1GImp< SR, S1, DR, D1 >, RWTFunctorR1MA1Imp< SR, S1, Callee, DR, D1, A1 >, RWTFunctorR1MA2Imp< SR, S1, Callee, DR, D1, A1, A2 >, and RWTFunctorR1MImp< SR, S1, Callee, DR, D1 >.

Detailed Description

template<class SR, class S1>
class RWTFunctorR1Imp< SR, S1 >

Deprecated:
As of SourcePro 12.5, use RWTFunctor<SR(S1)> instead.

A function object, or a functor, encapsulates a call to an associated global or member function. When a functor is invoked, it calls the associated function.

RWTFunctorR1Imp is the abstract base class for the family of functor bodies that take one caller argument at invocation time and return a value.

Each derived class name appends either aG (for global) or an M (for member), to indicate whether it is invoked upon an object. Static member functions use the G version since there is no object associated with the call.

The class name may also append A1 or A2 to indicate that it takes callee arguments at construction time. These arguments are stored and added to the caller argument at invocation time.

The six concrete class names are:

These concrete classes are templatized on the signature of the function that is encapsulated, as well as on the signature of the functor invocation.

The template parameters describe the invocation signature of the functor and the function call it encapsulates. These parameters are:

The make() function is the only member of these functor classes that is intended to be accessed directly; it is often called through one of the rwtMakeFunctorR1() convenience mechanisms. All other members must be accessed through an RWTFunctorR1 handle.

Example
#include <rw/functor/RWTFunctorR1GImp.h>
int foo(float);
int main(void)
{
// Create a functor that calls foo():
func = RWTFunctorR1GImp<int, float, int, float>::make(foo);
// Invoke Functor
int result = func(7.0);
return 0;
}
See also
rwtMakeFunctorR1(), RWTFunctorR1

Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved.