QP/C++  7.4.0-rc.1
Real-Time Embedded Framework
Loading...
Searching...
No Matches
qp_pkg.hpp File Reference

Internal (package scope) QP/C++ interface. More...

Go to the source code of this file.

Classes

class  QP::QF::Attr
 Private attributes of the QF framework. More...
 

Namespaces

namespace  QP
 QP/C++ framework.
 
namespace  QP::QF
 QF Active Object Framework.
 

Macros

#define QF_CONST_CAST_(type_, ptr_)   const_cast<type_>(ptr_)
 
#define QF_PTR_RANGE_(x_, min_, max_)   (((min_) <= (x_)) && ((x_) <= (max_)))
 
#define Q_UINTPTR_CAST_(ptr_)   (reinterpret_cast<std::uintptr_t>(ptr_))
 Internal helper macro to cast pointers to integers.
 
#define Q_ACTION_CAST(act_)   (reinterpret_cast<QP::QActionHandler>(act_))
 

Functions

void QP::QF::bzero_ (void *const start, std::uint_fast16_t const len) noexcept
 
void QP::QEvt_refCtr_inc_ (QEvt const *const e) noexcept
 
void QP::QEvt_refCtr_dec_ (QEvt const *const e) noexcept
 Decrement the refCtr of a const event (requires casting const away)
 

Variables

QF::Attr QP::QF::priv_
 
constexpr std::uint8_t QP::TE_IS_LINKED = 1U << 7U
 
constexpr std::uint8_t QP::TE_WAS_DISARMED = 1U << 6U
 
constexpr std::uint8_t QP::TE_TICK_RATE = 0x0FU
 

Detailed Description

Internal (package scope) QP/C++ interface.

Traceability

Definition in file qp_pkg.hpp.

Macro Definition Documentation

◆ QF_CONST_CAST_

#define QF_CONST_CAST_ ( type_,
ptr_ )   const_cast<type_>(ptr_)

Definition at line 79 of file qp_pkg.hpp.

◆ QF_PTR_RANGE_

#define QF_PTR_RANGE_ ( x_,
min_,
max_ )   (((min_) <= (x_)) && ((x_) <= (max_)))

Definition at line 80 of file qp_pkg.hpp.

◆ Q_UINTPTR_CAST_

#define Q_UINTPTR_CAST_ ( ptr_)    (reinterpret_cast<std::uintptr_t>(ptr_))

Internal helper macro to cast pointers to integers.

Parameters
[in]ptr_object pointer
Returns
The integer representation of the pointer
Traceability

Definition at line 81 of file qp_pkg.hpp.

◆ Q_ACTION_CAST

#define Q_ACTION_CAST ( act_)    (reinterpret_cast<QP::QActionHandler>(act_))

Perform cast to QP::QActionHandler.

This macro encapsulates the cast of a specific action handler function pointer to QP::QActionHandler, which violates MISRA:C-2023 Rule 11.1(R). This macro helps to localize this deviation.

Traceability

Definition at line 82 of file qp_pkg.hpp.