QP/C  7.2.2
Real-Time Embedded Framework
Loading...
Searching...
No Matches
QPSet Class Reference

Priority Set of up to QF_MAX_ACTIVE elements. More...

#include "qf.h"

Static Public Member Functions

static void QPSet_setEmpty (QPSet *const me)
 
static bool QPSet_isEmpty (QPSet const *const me)
 
static bool QPSet_notEmpty (QPSet const *const me)
 
static bool QPSet_hasElement (QPSet const *const me, uint_fast8_t const n)
 
static void QPSet_insert (QPSet *const me, uint_fast8_t const n)
 
static void QPSet_remove (QPSet *const me, uint_fast8_t const n)
 
static uint_fast8_t QPSet_findMax (QPSet const *const me)
 

Public Attributes

QPSetBits volatile bits [(QF_MAX_ACTIVE+31U)/32U]
 

Static Private Member Functions

static void QPSet_update (QPSet const *const me, QPSet *const rmc)
 
static bool QPSet_verify (QPSet const *const me, QPSet const *const rmc)
 

Detailed Description

The priority set represents the set of active objects that are ready to run and need to be considered by the scheduling algorithm. The set is capable of storing up to QF_MAX_ACTIVE priority levels, which can be configured in the rage 1..64, inclusive.

Definition at line 234 of file qf.h.

Member Function Documentation

◆ QPSet_setEmpty()

static void QPSet_setEmpty ( QPSet *const  me)
inlinestatic

Make the priority set empty

Definition at line 246 of file qf.h.

◆ QPSet_isEmpty()

static bool QPSet_isEmpty ( QPSet const *const  me)
inlinestatic

Return 'true' if the priority set is empty

Definition at line 256 of file qf.h.

◆ QPSet_notEmpty()

static bool QPSet_notEmpty ( QPSet const *const  me)
inlinestatic

Return 'true' if the priority set is NOT empty

Definition at line 267 of file qf.h.

◆ QPSet_hasElement()

static bool QPSet_hasElement ( QPSet const *const  me,
uint_fast8_t const  n 
)
inlinestatic

Return 'true' if the priority set has the element n.

Definition at line 278 of file qf.h.

◆ QPSet_insert()

static void QPSet_insert ( QPSet *const  me,
uint_fast8_t const  n 
)
inlinestatic

insert element n into the set (n = 1..QF_MAX_ACTIVE)

Definition at line 293 of file qf.h.

◆ QPSet_remove()

static void QPSet_remove ( QPSet *const  me,
uint_fast8_t const  n 
)
inlinestatic

Remove element n from the set (n = 1U..QF_MAX_ACTIVE)

Definition at line 311 of file qf.h.

◆ QPSet_findMax()

static uint_fast8_t QPSet_findMax ( QPSet const *const  me)
inlinestatic

Find the maximum element in the set, returns zero if the set is empty

Definition at line 330 of file qf.h.

◆ QPSet_update()

static void QPSet_update ( QPSet const *const  me,
QPSet *const  rmc 
)
inlinestaticprivate

udate the given redundant inverted copy (Software Self-Monitoring (SSM))

Parameters
[in]mecurrent instance pointer (see oop)
[in,out]rmcpointer to the Redundant Mirror Copy (RMC)

Definition at line 349 of file qf.h.

◆ QPSet_verify()

static bool QPSet_verify ( QPSet const *const  me,
QPSet const *const  rmc 
)
inlinestaticprivate

verify match with the Redundant Mirror Copy (Software Self-Monitoring (SSM))

Parameters
[in]mecurrent instance pointer (see oop)
[in]rmcpointer to the Redundant Mirror Copy (RMC)
Returns
'true' if this set matches the mirror copy and 'false' otherwise.

Definition at line 369 of file qf.h.

Member Data Documentation

◆ bits

QPSetBits volatile QPSet::bits[(QF_MAX_ACTIVE+31U)/32U]

bitmask with a bit for each element

Definition at line 238 of file qf.h.


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