P4C
The P4 Compiler
All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
P4::TypeSpecializationMap Struct Reference
Inheritance diagram for P4::TypeSpecializationMap:
[legend]

Public Member Functions

void add (const IR::Type_Specialized *t, const IR::Type_StructLike *decl, NameGenerator *nameGen)
 
void dbprint (std::ostream &out) const override
 
TypeSpecializationget (const IR::Type_Specialized *t)
 
const TypeSpecializationget (const IR::Type_Specialized *t) const
 
void markDefined (const IR::Type_Declaration *tdec)
 Mark the tdec as already present and therefore remove it from required definitions for specializations.
 
const IR::Type_Declaration * nextAvailable ()
 Get a single specialization that is already available (i.e. it does not require any additional definitions) and mark it as inserted. Returns nullptr if none such exists.
 
- Public Member Functions inherited from P4::IHasDbPrint
void print () const
 

Public Attributes

ordered_map< SpecSignature, TypeSpecializationmap
 
TypeMaptypeMap
 

Friends

class CreateSpecializedTypes
 

Member Function Documentation

◆ dbprint()

void P4::TypeSpecializationMap::dbprint ( std::ostream & out) const
inlineoverridevirtual

Implements P4::IHasDbPrint.