|
| FieldSlice (const Field *field) |
| Create a slice that holds the entirety of field .
|
|
| FieldSlice (const Field *field, le_bitrange range) |
|
| FieldSlice (FieldSlice slice, le_bitrange range) |
| Creates a subslice of the field of slice from range.lo to range.hi .
|
|
std::optional< FieldAlignment > | alignment () const |
|
le_bitrange | byteAlignedRangeInBits () const |
|
int | container_bytes () const |
|
const PHV::Field * | field () const override |
|
template<class FN > |
void | foreach_byte (const IR::MAU::Table *ctxt, const PHV::FieldUse *use, FN fn) const |
|
template<class FN > |
void | foreach_byte (const PHV::AllocContext *ctxt, const PHV::FieldUse *use, FN fn) const |
|
bitvec | getStartBits (PHV::Size size) const |
|
gress_t | gress () const |
| Whether the Field is ingress or egress.
|
|
bool | is_tphv_candidate (const PhvUse &uses) const |
|
bool | is_unallocated () const |
|
bool | is_whole_field () const |
|
FieldKind | kind () const |
| Kind of field of this slice.
|
|
| operator bool () const |
|
bool | operator< (const FieldSlice &other) const override |
|
bool | operator== (const FieldSlice &other) const override |
|
const le_bitrange & | range () const override |
|
cstring | shortString () const |
|
int | size () const override |
| Total size of FieldSlice in bits.
|
|
nw_bitrange | validContainerRange () const |
| See documentation for Field::validContainerRange() .
|
|
template<typename T > |
const T & | as () const |
|
template<typename T > |
bool | is () const |
|
template<typename T > |
const T * | to () const |
|
| OPERATOR (equal, Equal) |
|
| OPERATOR (not_equal, NotEqual) |
|
bool | operator!= (const FieldSlice &other) const |
|
| OPERATOR (equal, Equal) |
|
| OPERATOR (not_equal, NotEqual) |
|
bool | operator!= (const FieldSlice &other) const |
|
virtual bool | operator== (const FieldSlice &) const=0 |
|
| OPERATOR (equal, Equal) |
|
| OPERATOR (greater, Greater) |
|
| OPERATOR (greater_equal, GreaterEqual) |
|
| OPERATOR (less, Less) |
|
| OPERATOR (less_equal, LessEqual) |
|
| OPERATOR (not_equal, NotEqual) |
|
bool | operator!= (const FieldSlice &other) const |
|
virtual bool | operator< (const FieldSlice &) const=0 |
|
bool | operator<= (const FieldSlice &other) const |
|
bool | operator== (const FieldSlice &other) const |
|
bool | operator> (const FieldSlice &other) const |
|
bool | operator>= (const FieldSlice &other) const |
|
Represents a slice (range of bits) of a PHV::Field. Constraints on the field that are related to position, like alignment, are tailored for each slice.