ACE  6.3.3
Public Member Functions | Private Attributes | List of all members
ACE_Sched_Priority_Iterator Class Reference

An iterator over the OS-defined scheduling priorities. More...

#include <Sched_Params.h>

Public Member Functions

 ACE_Sched_Priority_Iterator (const ACE_Sched_Params::Policy &policy, int scope=ACE_SCOPE_THREAD)
 
 ~ACE_Sched_Priority_Iterator (void)
 Default dtor. More...
 
int more (void) const
 Check if there are more priorities. More...
 
int priority (void) const
 Return the current priority. More...
 
void next (void)
 
const ACE_Sched_Params::Policypolicy (void) const
 Accessor for the scheduling policy over which we are iterating. More...
 
int scope (void) const
 Accessor for the scheduling. More...
 

Private Attributes

ACE_Sched_Params::Policy policy_
 
int scope_
 
int priority_
 The current priority. More...
 
int done_
 

Detailed Description

An iterator over the OS-defined scheduling priorities.

The order of priorities (numeric value vs. importance) is OS dependant, it can be the case that the priorities are not even contigous. This class permits iteration over priorities using the iterator pattern.

Constructor & Destructor Documentation

ACE_Sched_Priority_Iterator::ACE_Sched_Priority_Iterator ( const ACE_Sched_Params::Policy policy,
int  scope = ACE_SCOPE_THREAD 
)
inline

Initialize the iterator, the arguments define the scheduling policy and scope for the priorities (see ACE_Sched_Param).

ACE_Sched_Priority_Iterator::~ACE_Sched_Priority_Iterator ( void  )
inline

Default dtor.

Member Function Documentation

int ACE_Sched_Priority_Iterator::more ( void  ) const
inline

Check if there are more priorities.

void ACE_Sched_Priority_Iterator::next ( void  )
inline

Move to the next priority. The iteration is from lowest to highest importance.

const ACE_Sched_Params::Policy & ACE_Sched_Priority_Iterator::policy ( void  ) const
inline

Accessor for the scheduling policy over which we are iterating.

int ACE_Sched_Priority_Iterator::priority ( void  ) const
inline

Return the current priority.

int ACE_Sched_Priority_Iterator::scope ( void  ) const
inline

Accessor for the scheduling.

Member Data Documentation

int ACE_Sched_Priority_Iterator::done_
private

This is set to 1 when there are no more priorities. Cannot easily compare against the highest priority on platforms were priorities are non-contigous or descending.

ACE_Sched_Params::Policy ACE_Sched_Priority_Iterator::policy_
private

The Scheduling policy (FIFO, RR, etc.) and scheduling scope (PROCESS, SYSTEM) we are iterating on.

int ACE_Sched_Priority_Iterator::priority_
private

The current priority.

int ACE_Sched_Priority_Iterator::scope_
private

The documentation for this class was generated from the following files: