SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Deprecated. Represents the group of functors that are invoked with two arguments, and whose invocation returns a value. More...
#include <rw/functor/RWTFunctorR2.h>
Inherits RWTFunctor< T >.
Public Types | |
typedef SR(* | CallerSignature) (S1, S2) |
typedef S1 | S1Type |
typedef S2 | S2Type |
typedef SR | SRType |
Public Member Functions | |
RWTFunctorR2 (void) | |
RWTFunctorR2 (RWStaticCtor) | |
RWTFunctorR2 (RWTFunctorR2Imp< SR, S1, S2 > *functorImp) | |
RWTFunctorR2 (const RWTFunctorR2< SR, S1, S2 > &second) | |
RWTFunctorR2 (const RWTFunctor< SR(S1, S2)> &second) | |
~RWTFunctorR2 (void) | |
RWTFunctorR2Imp< SR, S1, S2 > & | body (void) const |
RWTFunctorR2< SR, S1, S2 > & | operator= (const RWTFunctorR2< SR, S1, S2 > &second) |
RWTFunctorR2< SR, S1, S2 > & | operator= (const RWTFunctor< SR(S1, S2)> &second) |
RWTFunctorR2 represents the group of functors that are invoked with two arguments, and whose invocation returns a value.
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.
Instances of RWTFunctorR2 act as handles to functor implementations or bodies. Such implementations are created by using either the rwtMakeFunctorR2() global functions or macros. Each of these methods creates a new body instance, and returns the handle to that instance. See the example below.
Note that although an instance of this class is invoked with two arguments, the encapsulated function may have more arguments.
The additional arguments to be passed to the encapsulated function are provided to the functor at the time of creation. They are stored within the functor object, and are retrieved at the time of invocation.
typedef SR(* RWTFunctorR2< SR, S1, S2 >::CallerSignature) (S1, S2) |
The signature of the functor invocation.
typedef S1 RWTFunctorR2< SR, S1, S2 >::S1Type |
The type of the first caller argument.
typedef S2 RWTFunctorR2< SR, S1, S2 >::S2Type |
The type of the second caller argument.
typedef SR RWTFunctorR2< SR, S1, S2 >::SRType |
The type of the functor's return value.
RWTFunctorR2< SR, S1, S2 >::~RWTFunctorR2 | ( | void | ) |
Destructor.
RWTFunctorR2< SR, S1, S2 >::RWTFunctorR2 | ( | void | ) |
Constructs an empty, invalid, handle instance. To create a viable handle, use the rwtMakeFunctor1() global functions or macros.
RWTFunctorR2< SR, S1, S2 >::RWTFunctorR2 | ( | RWStaticCtor | ) |
Constructs a global static handle instance. Constructor does not reset any values that may have been set in invocations prior to the constructor call.
RWTFunctorR2< SR, S1, S2 >::RWTFunctorR2 | ( | RWTFunctorR2Imp< SR, S1, S2 > * | functorImp | ) |
Body constructor. Binds a new handle instance to an existing functor body instance.
RWTFunctorR2< SR, S1, S2 >::RWTFunctorR2 | ( | const RWTFunctorR2< SR, S1, S2 > & | second | ) |
Copy constructor. Binds a new handle instance to the functor body instance, if any, associated with the second handle instance.
RWTFunctorR2< SR, S1, S2 >::RWTFunctorR2 | ( | const RWTFunctor< SR(S1, S2)> & | second | ) |
Conversion constructor. Binds a new handle instance to the functor body instance, if any, associated with the second handle instance.
|
inline |
Gets a reference for the body instance, if any, otherwise throws an exception.
RWTHRInvalidPointer | Thrown if the handle has no associated body. |
std::bad_cast | Thrown if the body is not of type RWTFunctorR2Imp. |
RWTFunctorR2<SR, S1, S2>& RWTFunctorR2< SR, S1, S2 >::operator= | ( | const RWTFunctorR2< SR, S1, S2 > & | second | ) |
Assignment operator. Detaches this handle instance from any functor body instance it currently references, and binds it to the functor body instance, if any, associated with the second handle instance.
RWTFunctorR2<SR, S1, S2>& RWTFunctorR2< SR, S1, S2 >::operator= | ( | const RWTFunctor< SR(S1, S2)> & | second | ) |
Assignment operator. Detaches this handle instance from any functor body instance it currently references, and binds it to the functor body instance, if any, associated with the second handle instance.
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |