Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

rwtMakeRunnableGuard


Global Functions and Macros

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Data Types

Member Functions

Package

Threading

Header File

#include <rw/thread/rwtMakeRunnableGuard.h>

Description

An RWRunnableGuard is a special functor that is designed for use with the RWGuardedRunnableQueue class and the runnable server classes RWRunnableServer and RWServerPool, which use a guarded runnable queue internally. A runnable guard functor is used by the RWGuardedRunnableQueue class to select the next enqueued run-nable to execute. It is designed to allow a runnable to remain in a queue until some condition is satisfied.

When a client requests a runnable from a runnable queue, the queue selects the next runnable to execute by traversing any enqueued runnables, and executing their guard functors, until it finds a runnable whose guard functor evaluates to TRUE. That runnable is then returned to the client.

Example

Global Typedef

typedef RWTFunctorR0<RWBoolean>RWRunnableGuard

Global Function Templates

The function templates in this section use the following naming conventions for their arguments:

template <class DR>
RWRunnableGuard
rwtMakeRunnableGuard(DR (*function)(void));
template <class DR, class A1, class AA1>
RWRunnableGuard
rwtMakeRunnableGuard(DR (*function)(A1),AA1 a1);
template <class DR, class A1, class A2, class AA1, class AA2>
RWRunnableGuard
rwtMakeRunnableGuard(DR (*function)(A1,A2),AA1 a1,AA2 a2);
template <class DR, class A1, class A2, class A3,
          class AA1, class AA2, class AA3>
RWRunnableGuard
rwtMakeRunnableGuard(DR (*function)(A1,A2,A3),AA1 a1,
                    AA2 a2,AA3 a3);
template <class Callee, class DR>
RWRunnableGuard
rwtMakeRunnableGuard(Callee& callee, 
                    DR(Callee::*function)(void));
template <class Callee, class DR, class A1, class AA1>
RWRunnableGuard
rwtMakeRunnableGuard(Callee& callee, DR(Callee::*function)(A1),
                    AA1 a1);
template <class Callee, class DR, class A1, class AA1, 
class A2, class AA2> RWRunnableGuard rwtMakeRunnableGuard(Callee& callee, DR(Callee::*function)(A1,A2), AA1 a1, AA2 a2);
template <class Callee, class DR, class A1, 
class AA1, class A2, class AA2, class A3, class AA3> RWRunnableGuard rwtMakeRunnableGuard(Callee& callee, DR (Callee::*function)(A1,A2,A3), AA1 a1, AA2 a2, AA3 a3);

Macros
(for Use With
Global Functions)

The macros in this section use the following naming conventions for the macro arguments:

rwtMakeRunnableGuardG(DR,function)
rwtMakeRunnableGuardGA1(DR,function,A1,a1)
rwtMakeRunnableGuardGA2(DR,function,A1,a1,A2,a2)
rwtMakeRunnableGuardGA3(DR,function,A1,a1,A2,a2,A3,a3)

Macros
(for Use With Member Functions)

The macros in this section use the following naming conventions for the macro arguments:

rwtMakeRunnableGuardM(Callee,callee,DR,function)
rwtMakeRunnableGuardMA1(Callee,callee,DR,function,A1,a1)
rwtMakeRunnableGuardMA2(Callee,callee,DR,function,A1,a1,A2,a2)
rwtMakeRunnableGuardMA3(Callee,callee,DR,
                       function,A1,a1,A2,a2,A3,a3)

See Also

RWGuardedRunnableQueue, RWRunnableServer, RWServerPool



Previous fileTop of DocumentContentsIndexNext file

©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.