Describes an element of a Bitfield. This type is then used with the Bitfield static member functions.
Declared in <llvm/ADT/Bitfields.h>
template<
typename T,
unsigned int Offset,
unsigned int Size,
T MaxValue = std::is_enum<T>::value ? T(0) : std::numeric_limits<T>::max()>
struct Element;
| Name | Description |
|---|---|
IntegerType | Integer type used when packing and unpacking this element. |
Type | Unpacked value type of this bitfield element. |
| Name | Description |
|---|---|
Bits | Width of this field in bits. |
FirstBit | Index of the first bit occupied by this field. |
LastBit | Index of the last bit occupied by this field. |
NextBit | Index of the first bit after this field (start of a contiguous neighbor). |
Shift | Bit offset where this field begins in the packed storage word. |
| Name | Description |
|---|---|
llvm::bitfields_details::Impl | Impl is where Bifield description and Storage are put together to interact with values. |
| Name | Description |
|---|---|
| T | The type of the field once in unpacked form. |
| Offset | The position of the first bit. |
| Size | The size of the field. |
| MaxValue | For enums the maximum enum allowed. |