P4C
The P4 Compiler
Loading...
Searching...
No Matches
FieldExtractInfo Class Reference

Summarizes parser extracts for all fields. More...

#include <field_slice_extract_info.h>

Public Types

typedef ordered_map< const PHV::Field *, FieldSliceExtractInfo * > FieldMap
 
typedef std::map< cstring, std::map< const IR::BFN::ParserState *, std::set< unsigned > > > HeaderStackMap
 
typedef std::map< const Pseudoheader *, ordered_map< const PHV::Field *, FieldSliceExtractInfo * >, Pseudoheader::Less > PseudoheaderMap
 

Public Member Functions

void updateFieldMap (const PHV::Field *field, const IR::BFN::ParserState *state, unsigned stack_offset, unsigned state_bit_offset, int min_packet_bit_offset, int max_packet_bit_offset)
 
void updateHeaderStackMap (cstring header_stack, const IR::BFN::ParserState *state, const std::set< unsigned > indices)
 
void updatePseudoheaderMap (const Pseudoheader *pseudoheader, const PHV::Field *field, const IR::BFN::ParserState *state, unsigned stack_offset, unsigned state_bit_offset, int min_packet_bit_offset, int max_packet_bit_offset)
 

Public Attributes

FieldMap fieldMap
 Maps all extracted fields to their FieldSliceExtractInfo instances.
 
HeaderStackMap headerStackMap
 Maps all header stacks to the sets of indicies that could be extracted in each state.
 
PseudoheaderMap pseudoheaderMap
 Maps pseudoheaders to fields to their FieldSliceExtractInfo instances.
 

Detailed Description

Summarizes parser extracts for all fields.