CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
Type-directed proxy operator

macros More...

Collaboration diagram for Type-directed proxy operator:

Macros

#define BITPACK_OPERATE_VALUE(b, operator, value)
 Given a bitpack b – not a Proxy of a Field therein – and a value, operate between the bitpack's view of that value's type and the value.
#define BITPACK_OPERATE_VALUE_DECLTYPE(b, operator, value)
 Given a bitpack b – not a Proxy of a Field therein – qualify the given value with the bitpack's type and then operate between the bitpack's Proxy of that qualified value's type and said value.
#define BITPACK_OPERATE_VALUE_DEPENDENT(b, operator, value)
 BITPACK_OPERATE_VALUE with dependent qualification for the type of the bitpack.
#define BITPACK_WITH_VALUE(b, value)
 A specialization of BITPACK_OPERATE_VALUE using .with as the operator.
#define BITPACK_WITH_VALUE_DECLTYPE(b, value)
 A specialization of BITPACK_OPERATE_VALUE_DECLTYPE using .with as the operator.
#define BITPACK_WITH_VALUE_DEPENDENT(b, value)
 A specialization of BITPACK_OPERATE_VALUE_DEPENDENT using .with as the operator.

Detailed Description

macros

Macro Definition Documentation

◆ BITPACK_OPERATE_VALUE

#define BITPACK_OPERATE_VALUE ( b,
operator,
value )
Value:
({ (b).template member<decltype(value)>() operator(value); })

Given a bitpack b – not a Proxy of a Field therein – and a value, operate between the bitpack's view of that value's type and the value.

Definition at line 1229 of file bitpack.hh.

◆ BITPACK_OPERATE_VALUE_DECLTYPE

#define BITPACK_OPERATE_VALUE_DECLTYPE ( b,
operator,
value )
Value:
b, operator, std::remove_reference_t<decltype(b)>::value)
#define BITPACK_OPERATE_VALUE(b, operator,value)
Given a bitpack b – not a Proxy of a Field therein – and a value, operate between the bitpack's view ...
Definition bitpack.hh:1229

Given a bitpack b – not a Proxy of a Field therein – qualify the given value with the bitpack's type and then operate between the bitpack's Proxy of that qualified value's type and said value.

Definition at line 1237 of file bitpack.hh.

Referenced by OpenTitanUart::disable(), and OpenTitanUart::fifos_clear().

◆ BITPACK_OPERATE_VALUE_DEPENDENT

#define BITPACK_OPERATE_VALUE_DEPENDENT ( b,
operator,
value )
Value:
b, operator, typename std::remove_reference_t<decltype(b)>::value)

BITPACK_OPERATE_VALUE with dependent qualification for the type of the bitpack.

Definition at line 1245 of file bitpack.hh.

Referenced by OpenTitanUart::loopback().

◆ BITPACK_WITH_VALUE

#define BITPACK_WITH_VALUE ( b,
value )
Value:
BITPACK_OPERATE_VALUE(b, .with, value)

A specialization of BITPACK_OPERATE_VALUE using .with as the operator.

Definition at line 1250 of file bitpack.hh.

◆ BITPACK_WITH_VALUE_DECLTYPE

#define BITPACK_WITH_VALUE_DECLTYPE ( b,
value )
Value:
#define BITPACK_OPERATE_VALUE_DECLTYPE(b, operator,value)
Given a bitpack b – not a Proxy of a Field therein – qualify the given value with the bitpack's type ...
Definition bitpack.hh:1237

A specialization of BITPACK_OPERATE_VALUE_DECLTYPE using .with as the operator.

Definition at line 1256 of file bitpack.hh.

◆ BITPACK_WITH_VALUE_DEPENDENT

#define BITPACK_WITH_VALUE_DEPENDENT ( b,
value )
Value:
#define BITPACK_OPERATE_VALUE_DEPENDENT(b, operator,value)
BITPACK_OPERATE_VALUE with dependent qualification for the type of the bitpack.
Definition bitpack.hh:1245

A specialization of BITPACK_OPERATE_VALUE_DEPENDENT using .with as the operator.

Definition at line 1263 of file bitpack.hh.