Linux Face / QPFramework
Embed: (wiki syntax)

« Back to documentation index

QPSet64 Class Reference

Priority Set of up to 64 elements for building various schedulers, but also useful as a general set of up to 64 elements of any kind. More...

#include <qpset.h>

Inherits QPSet8.

Public Member Functions

uint8_t hasElement (uint8_t n) volatile
 the function evaluates to TRUE if the priority set has the element n.
void insert (uint8_t n) volatile
 insert element n into the set, n = 1..64
void remove (uint8_t n) volatile
 remove element n from the set, n = 1..64
uint8_t findMax (void) volatile
 find the maximum element in the set,
uint8_t isEmpty (void) volatile
 the function evaluates to TRUE if the priority set is empty, which means that no active objects are ready to run.
uint8_t notEmpty (void) volatile
 the function evaluates to TRUE if the priority set has elements, which means that some active objects are ready to run.

Protected Attributes

uint8_t m_bits
 bimask representing elements of the set

Friends

class QPSet64

Detailed Description

Priority Set of up to 64 elements for building various schedulers, but also useful as a general set of up to 64 elements of any kind.

The priority set represents the set of active objects that are ready to run and need to be considered by scheduling processing. The set is capable of storing up to 64 priority levels.

The priority set allows to build cooperative multitasking schedulers to manage up to 64 tasks. It is also used in the Quantum Kernel (QK) preemptive scheduler.

The inherited 8-bit set is used as the 8-elemtn set of of 8-bit subsets Each bit in the super.bits set represents a subset (8-elements) as follows:
bit 0 in this->m_bits is 1 when subset[0] is not empty
bit 1 in this->m_bits is 1 when subset[1] is not empty
bit 2 in this->m_bits is 1 when subset[2] is not empty
bit 3 in this->m_bits is 1 when subset[3] is not empty
bit 4 in this->m_bits is 1 when subset[4] is not empty
bit 5 in this->m_bits is 1 when subset[5] is not empty
bit 6 in this->m_bits is 1 when subset[6] is not empty
bit 7 in this->m_bits is 1 when subset[7] is not empty

Definition at line 119 of file qpset.h.


Member Function Documentation

uint8_t findMax ( void   ) volatile

find the maximum element in the set,

Note:
returns zero if the set is empty

Reimplemented from QPSet8.

Definition at line 157 of file qpset.h.

uint8_t hasElement ( uint8_t  n ) volatile

the function evaluates to TRUE if the priority set has the element n.

Reimplemented from QPSet8.

Definition at line 136 of file qpset.h.

void insert ( uint8_t  n ) volatile

insert element n into the set, n = 1..64

Reimplemented from QPSet8.

Definition at line 141 of file qpset.h.

uint8_t isEmpty ( void   ) volatile [inherited]

the function evaluates to TRUE if the priority set is empty, which means that no active objects are ready to run.

Definition at line 61 of file qpset.h.

uint8_t notEmpty ( void   ) volatile [inherited]

the function evaluates to TRUE if the priority set has elements, which means that some active objects are ready to run.

Definition at line 67 of file qpset.h.

void remove ( uint8_t  n ) volatile

remove element n from the set, n = 1..64

Reimplemented from QPSet8.

Definition at line 147 of file qpset.h.


Field Documentation

uint8_t m_bits [protected, inherited]

bimask representing elements of the set

Definition at line 55 of file qpset.h.