CHERIoT RTOS
A compartmentalised RTOS for CHERIoT hardware
Loading...
Searching...
No Matches
Field metadata helpers
Collaboration diagram for Field metadata helpers:

Macros

#define BITPACK_FIELD_MASK(proxy)
 Given a Proxy to a Field in a given Bitpack, return that Field's mask as an instance of that Bitpack.
#define BITPACK_FIELD_MASK_DECLTYPE(b, T)
 A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_FIELD_MASK.
#define BITPACK_FIELD_MASK_DEPENDENT(b, T)
 A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_FIELD_MASK.
#define BITPACK_FIELD_SHIFT(proxy)
 Given a Proxy to a Field in a given Bitpack, return the 0-based index of that Field's constituent bits.
#define BITPACK_FIELD_SHIFT_DECLTYPE(b, T)
 A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_FIELD_SHIFT.
#define BITPACK_FIELD_SHIFT_DEPENDENT(b, T)
 A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_FIELD_SHIFT.

Detailed Description

Macro Definition Documentation

◆ BITPACK_FIELD_MASK

#define BITPACK_FIELD_MASK ( proxy)
Value:
(static_cast<decltype(proxy)::ContainingBitpack>( \
decltype(proxy)::Field::FieldMask))

Given a Proxy to a Field in a given Bitpack, return that Field's mask as an instance of that Bitpack.

That is, return a Bitpack containing exactly all of and only that Field's constituent bits asserted.

Definition at line 1351 of file bitpack.hh.

◆ BITPACK_FIELD_MASK_DECLTYPE

#define BITPACK_FIELD_MASK_DECLTYPE ( b,
T )
Value:
#define BITPACK_FIELD_MASK(proxy)
Given a Proxy to a Field in a given Bitpack, return that Field's mask as an instance of that Bitpack.
Definition bitpack.hh:1351
#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:1075

A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_FIELD_MASK.

Definition at line 1356 of file bitpack.hh.

◆ BITPACK_FIELD_MASK_DEPENDENT

#define BITPACK_FIELD_MASK_DEPENDENT ( b,
T )
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:1083

A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_FIELD_MASK.

Definition at line 1360 of file bitpack.hh.

◆ BITPACK_FIELD_SHIFT

#define BITPACK_FIELD_SHIFT ( proxy)
Value:
(decltype(proxy)::Field::Info.minIndex)

Given a Proxy to a Field in a given Bitpack, return the 0-based index of that Field's constituent bits.

This is mostly of interest to assembler.

Definition at line 1367 of file bitpack.hh.

◆ BITPACK_FIELD_SHIFT_DECLTYPE

#define BITPACK_FIELD_SHIFT_DECLTYPE ( b,
T )
Value:
#define BITPACK_FIELD_SHIFT(proxy)
Given a Proxy to a Field in a given Bitpack, return the 0-based index of that Field's constituent bit...
Definition bitpack.hh:1367

A fusion of BITPACK_MEMBER_DECLTYPE and BITPACK_FIELD_SHIFT.

Definition at line 1370 of file bitpack.hh.

◆ BITPACK_FIELD_SHIFT_DEPENDENT

#define BITPACK_FIELD_SHIFT_DEPENDENT ( b,
T )
Value:

A fusion of BITPACK_MEMBER_DEPENDENT and BITPACK_FIELD_SHIFT.

Definition at line 1374 of file bitpack.hh.