P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
ActionBusSource Struct Reference

Public Types

enum  {
  None , Field , HashDist , HashDistPair ,
  RandomGen , TableOutput , TableColor , TableAddress ,
  Ealu , XcmpData , NameRef , ColorRef ,
  AddressRef
}
 

Public Member Functions

 ActionBusSource (HashDistribution *h)
 
 ActionBusSource (HashDistribution *h1, HashDistribution *h2)
 
 ActionBusSource (InputXbar::Group grp, int byte)
 
 ActionBusSource (MeterBus_t, TableOutputModifier m=TableOutputModifier::NONE)
 
 ActionBusSource (RandomNumberGen r)
 
 ActionBusSource (Table *t, TableOutputModifier m=TableOutputModifier::NONE)
 
 ActionBusSource (Table::Format::Field *f)
 
 ActionBusSource (Table::Ref *t, TableOutputModifier m=TableOutputModifier::NONE)
 
std::string name (Table *tbl) const
 
bool operator< (const ActionBusSource &a) const
 
bool operator== (const ActionBusSource &a) const
 
std::string toString (Table *tbl) const
 

Public Attributes

union { 
 
Table::Format::Fieldfield
 
HashDistributionhd
 
   struct { 
 
HashDistributionhd1
 
HashDistributionhd2
 
   } hd_tuple 
 
Table::Refname_ref
 
RandomNumberGen rng
 
Tabletable
 
   struct { 
 
short xcmp_byte
 
short xcmp_group
 
   } xcmp_data 
 
};  
 
enum ActionBusSource:: { ... }  type
 

Friends

std::ostream & operator<< (std::ostream &out, const ActionBusSource &src)