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

macros More...

Collaboration diagram for Type-qualifying proxy operator:

Macros

#define BITPACK_OPERATE_QUALIFY(proxy, operator, value)
 Operate between a Field::Proxy proxy and a given value, which will be qualifed with proxy's Field::Type name.
#define BITPACK_OPERATE_QUALIFY_DECLTYPE(b, T, operator, v)
 A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_OPERATE_QUALIFY.
#define BITPACK_OPERATE_QUALIFY_DEPENDENT(b, T, operator, v)
 A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_OPERATE_QUALIFY.
#define BITPACK_OPERATE_QUALIFY_TYPE(b, T, operator, v)
 A fusion of .member<>() and BITPACK_OPERATE_QUALIFY.
#define BITPACK_WITH_QUALIFY(proxy, value)
 A specialization of BITPACK_OPERATE_QUALIFY using .with as the operator.
#define BITPACK_WITH_QUALIFY_DECLTYPE(b, T, v)
 A specialization of BITPACK_OPERATE_QUALIFY_DECLTYPE using .with as the operator.
#define BITPACK_WITH_QUALIFY_DEPENDENT(b, T, v)
 A specialization of BITPACK_OPERATE_QUALIFY_DEPENDENT using .with as the operator.
#define BITPACK_WITH_QUALIFY_TYPE(b, T, v)
 A specialization of BITPACK_OPERATE_QUALIFY_TYPE using .with as the operator.

Detailed Description

macros

Macro Definition Documentation

◆ BITPACK_OPERATE_QUALIFY

#define BITPACK_OPERATE_QUALIFY ( proxy,
operator,
value )
Value:
({ \
using F = decltype(proxy)::Field::Type; \
(proxy) operator(F::value); \
})

Operate between a Field::Proxy proxy and a given value, which will be qualifed with proxy's Field::Type name.

This will not work on volatile bitpacks; use .read first.

Definition at line 1118 of file bitpack.hh.

◆ BITPACK_OPERATE_QUALIFY_DECLTYPE

#define BITPACK_OPERATE_QUALIFY_DECLTYPE ( b,
T,
operator,
v )
Value:
#define BITPACK_MEMBER_DECLTYPE(b, T)
A convenience macro that presumes the type T is defined within the Bitpack b and finds such a field's...
Definition bitpack.hh:1053
#define BITPACK_OPERATE_QUALIFY(proxy, operator,value)
Operate between a Field::Proxy proxy and a given value, which will be qualifed with proxy's Field::Ty...
Definition bitpack.hh:1118

A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_OPERATE_QUALIFY.

Definition at line 1125 of file bitpack.hh.

◆ BITPACK_OPERATE_QUALIFY_DEPENDENT

#define BITPACK_OPERATE_QUALIFY_DEPENDENT ( b,
T,
operator,
v )
Value:
#define BITPACK_MEMBER_DEPENDENT(b, T)
Like BITPACK_MEMBER_DECLTYPE, but with additional an "typename" keyword so we can use a dependently-t...
Definition bitpack.hh:1061

A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_OPERATE_QUALIFY.

Definition at line 1129 of file bitpack.hh.

◆ BITPACK_OPERATE_QUALIFY_TYPE

#define BITPACK_OPERATE_QUALIFY_TYPE ( b,
T,
operator,
v )
Value:
BITPACK_OPERATE_QUALIFY((b).template member<T>(), operator, v)

A fusion of .member<>() and BITPACK_OPERATE_QUALIFY.

Definition at line 1133 of file bitpack.hh.

◆ BITPACK_WITH_QUALIFY

#define BITPACK_WITH_QUALIFY ( proxy,
value )
Value:
BITPACK_OPERATE_QUALIFY(proxy, .with, value)

A specialization of BITPACK_OPERATE_QUALIFY using .with as the operator.

Definition at line 1137 of file bitpack.hh.

◆ BITPACK_WITH_QUALIFY_DECLTYPE

#define BITPACK_WITH_QUALIFY_DECLTYPE ( b,
T,
v )
Value:
#define BITPACK_OPERATE_QUALIFY_DECLTYPE(b, T, operator,v)
A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_OPERATE_QUALIFY.
Definition bitpack.hh:1125

A specialization of BITPACK_OPERATE_QUALIFY_DECLTYPE using .with as the operator.

Definition at line 1144 of file bitpack.hh.

◆ BITPACK_WITH_QUALIFY_DEPENDENT

#define BITPACK_WITH_QUALIFY_DEPENDENT ( b,
T,
v )
Value:
#define BITPACK_OPERATE_QUALIFY_DEPENDENT(b, T, operator,v)
A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_OPERATE_QUALIFY.
Definition bitpack.hh:1129

A specialization of BITPACK_OPERATE_QUALIFY_DEPENDENT using .with as the operator.

Definition at line 1151 of file bitpack.hh.

◆ BITPACK_WITH_QUALIFY_TYPE

#define BITPACK_WITH_QUALIFY_TYPE ( b,
T,
v )
Value:
#define BITPACK_OPERATE_QUALIFY_TYPE(b, T, operator,v)
A fusion of .member<>() and BITPACK_OPERATE_QUALIFY.
Definition bitpack.hh:1133

A specialization of BITPACK_OPERATE_QUALIFY_TYPE using .with as the operator.

Definition at line 1158 of file bitpack.hh.