|
|
| 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.