QP/C++
Classes | Variables
qpset.h File Reference

platform-independent priority sets of 8 or 64 elements. More...

Go to the source code of this file.

Classes

class  QPSet8
 Priority Set of up to 8 elements for building various schedulers, but also useful as a general set of up to 8 elements of any kind. More...
class  QPSet64
 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...

Variables

QP_BEGIN_ uint8_t const Q_ROM
Q_ROM_VAR 
QF_pwr2Lkup [65]
 Lookup table for (1 << ((n-1) % 8)), where n is the index into the table.
uint8_t const Q_ROM Q_ROM_VAR QF_invPwr2Lkup [65]
 Lookup table for ~(1 << ((n-1) % 8)), where n is the index into the table.
uint8_t const Q_ROM Q_ROM_VAR QF_div8Lkup [65]
 Lookup table for (n-1)/8.

Detailed Description

platform-independent priority sets of 8 or 64 elements.

This header file must be included in those QF ports that use the cooperative multitasking QF scheduler or the QK.

Definition in file qpset.h.


Variable Documentation

uint8_t const Q_ROM Q_ROM_VAR QF_div8Lkup[65]

Lookup table for (n-1)/8.

Note:
Index range n = 0..64. The first index (n == 0) should never be used.

Definition at line 116 of file qf_pwr2.cpp.

Referenced by QPSet64::hasElement(), QPSet64::insert(), QPSet64::remove(), QActive::subscribe(), QActive::unsubscribe(), and QActive::unsubscribeAll().

uint8_t const Q_ROM Q_ROM_VAR QF_invPwr2Lkup[65]

Lookup table for ~(1 << ((n-1) % 8)), where n is the index into the table.

Note:
Index range n = 0..64. The first index (n == 0) should never be used.

Definition at line 80 of file qf_pwr2.cpp.

Referenced by QF::publish(), QPSet8::remove(), QPSet64::remove(), QActive::unsubscribe(), and QActive::unsubscribeAll().

QP_BEGIN_ uint8_t const Q_ROM Q_ROM_VAR QF_pwr2Lkup[65]

Lookup table for (1 << ((n-1) % 8)), where n is the index into the table.

Note:
Index range n = 0..64. The first index (n == 0) should never be used.

Definition at line 44 of file qf_pwr2.cpp.

Referenced by QPSet8::hasElement(), QPSet64::hasElement(), QPSet8::insert(), QPSet64::insert(), QActive::subscribe(), and QActive::unsubscribeAll().