rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

Functors
[Threads Module]


Module Description

The Functor package (inspired by Rich Hickey in "Callbacks in C++ Using Template Functors") supplies interfaces for invocation that are independent of the actual functions. You can combine the functor classes with others in Threads Module to transform your existing single-threaded code into multithreaded code. This package is divided into two subpackages: Functor List and Functor Map.

Class names are constructed from the base name RWTFunctor for templatized classes or RWFunctor for the non-template classes by adding 0, 1 or 2 for the number of caller arguments and an optional R if the functor returns a value. Many classes use the handle-body idiom, in which body classes are identified by the suffix Imp.

The formal template parameters include:

SR The type of the functor's return value.
S1 Type name of the functor's first argument.
S2 Type name of the functor's second argument.

For complete information about the Functor package, see the Threads Module User's Guide.

Classes

class  RWFunctor0
 Represents the group of functors that are invoked without any arguments and whose invocation returns no value. More...
class  RWFunctor0Imp
 Abstract base class for functor body classes that are invoked with no caller arguments and return no value. More...
class  RWTFunctor1< S1 >
 A functor that is invoked with one argument, and whose invocation returns no value. More...
class  RWTFunctor1Imp< S1 >
 Abstract base class for the family of functor bodies that are invoked with one argument and return no value. More...
class  RWTFunctor2< S1, S2 >
 A functor that is invoked with two arguments, and whose invocation returns no value. More...
class  RWTFunctor2Imp< S1, S2 >
 Abstract base class for the family of functor bodies that are invoked with two caller arguments and whose invocation returns no value. More...
class  RWTFunctorR0< SR >
 A functor that is invoked without any arguments and whose invocation returns a value. More...
class  RWTFunctorR0Imp< SR >
 Abstract base class for the family of functor bodies that take no caller arguments at invocation time and return a value. More...
class  RWTFunctorR1< SR, S1 >
 Represents the group of functors that are invoked with one argument, and whose invocation returns a value. More...
class  RWTFunctorR1Imp< SR, S1 >
 Abstract base class for the family of functor bodies that are invoked with one caller argument and return a value. More...
class  RWTFunctorR2< SR, S1, S2 >
 Represents the group of functors that are invoked with two arguments, and whose invocation returns a value. More...
class  RWTFunctorR2Imp< SR, S1, S2 >
 Abstract base class for the family of functor bodies that are invoked with two arguments and return a value. More...

Modules

 Functor List
 Functor Map
 rwtMakeFunctor0 Macros and Functions
 rwtMakeFunctor1 Macros and Functions
 rwtMakeFunctor2 Macros and Functions
 rwtMakeFunctorR0 Macros and Functions
 rwtMakeFunctorR1 Macros and Functions
 rwtMakeFunctorR2 Macros and Functions
 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.