|  ►NBitRange |  | 
|  CFromTo |  | 
|  CMinToMax |  | 
|  CStartLen |  | 
|  CZeroToMax |  | 
|  ►NBMV2 | TODO: this is not really specific to BMV2, it should reside somewhere else  | 
|  ►NHelpers |  | 
|  CCounterlikeTraits |  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > |  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > |  | 
|  ►NStandard |  | 
|  CActionProfileTraits |  | 
|  CActionProfileTraits< Arch::PSA > |  | 
|  CActionProfileTraits< Arch::V1MODEL > |  | 
|  CActionProfileTraits< Arch::V1MODEL2020 > |  | 
|  CActionSelectorTraits |  | 
|  CActionSelectorTraits< Arch::PSA > |  | 
|  CActionSelectorTraits< Arch::V1MODEL > |  | 
|  CActionSelectorTraits< Arch::V1MODEL2020 > |  | 
|  CCounterExtern |  | 
|  CMeterExtern |  | 
|  CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA  | 
|  CRegisterTraits< Arch::PSA > |  | 
|  CRegisterTraits< Arch::V1MODEL > |  | 
|  CRegisterTraits< Arch::V1MODEL2020 > |  | 
|  CActionConverter |  | 
|  CArithmeticFixup |  | 
|  CBackend | Backend is a the base class for SimpleSwitchBackend and PortableSwitchBackend  | 
|  CBMV2Options |  | 
|  CBuildResourceMap |  | 
|  ►CCFG |  | 
|  CDummyNode |  | 
|  CEdge | A CFG Edge; can be an in-edge or out-edge  | 
|  CEdgeSet |  | 
|  CIfNode |  | 
|  CNode |  | 
|  CTableNode |  | 
|  CCheckUnsupported |  | 
|  CControlConverter |  | 
|  CConversionContext |  | 
|  CConvertGlobals |  | 
|  CConvertPsaToJson |  | 
|  CDeparserConverter |  | 
|  ►CDirectMeterMap |  | 
|  CDirectMeterInfo |  | 
|  CDiscoverStructure |  | 
|  CEnumOn32Bits |  | 
|  CExpressionConverter |  | 
|  CExternConverter |  | 
|  CHeaderConverter |  | 
|  CInspectPsaProgram |  | 
|  CJsonObjects |  | 
|  CLowerExpressions | This pass rewrites expressions which are not supported natively on BMv2  | 
|  CMatchImplementation |  | 
|  CMidEnd |  | 
|  CParseAnnotations | Parses BMV2-specific annotations  | 
|  CParsePsaArchitecture |  | 
|  CParserConverter |  | 
|  CParseV1Architecture |  | 
|  CProcessControls |  | 
|  CProgramStructure |  | 
|  CPsaCodeGenerator |  | 
|  CPsaEnumOn32Bits |  | 
|  CPsaProgramStructure |  | 
|  CPsaSwitchBackend |  | 
|  CPsaSwitchExpressionConverter |  | 
|  CPsaSwitchMidEnd |  | 
|  CPsaSwitchOptions |  | 
|  CRemoveComplexExpressions |  | 
|  CRenameUserMetadata |  | 
|  CSharedActionSelectorCheck |  | 
|  CSimpleSwitchBackend |  | 
|  CSimpleSwitchExpressionConverter |  | 
|  CSimpleSwitchMidEnd |  | 
|  CSimpleSwitchOptions |  | 
|  CSkipControls | This class implements a policy suitable for the SynthesizeActions pass  | 
|  CTableAttributes |  | 
|  CV1ModelProperties |  | 
|  CV1ProgramStructure |  | 
|  ►NDBPrint |  | 
|  Cclrflag |  | 
|  Csetflag |  | 
|  Csetflags_helper |  | 
|  Csetprec |  | 
|  ►NDPDK |  | 
|  CactionAttributes |  | 
|  CAddFieldsToPseudoHeader | This pass finally adds all the collected fields to pseudo header add collected pseudo header fields into dpdk_pseudo_header_t  | 
|  CAlignHdrMetaField |  | 
|  CBranchingInstructionGeneration |  | 
|  CBreakLogicalExpressionParenthesis |  | 
|  CByteAlignment |  | 
|  CCheckExternInvocation | Class which chooses the correct class for checking the constraints for invocations. of extern methods and functions depending on the architecture  | 
|  CCheckPNAExternInvocation | Class for checking constraints for invocations of PNA architecture extern methods and functions  | 
|  CCollectActionUses |  | 
|  CCollectAddOnMissTable |  | 
|  CCollectDirectCounterMeter |  | 
|  CCollectErrors |  | 
|  CCollectExternDeclaration |  | 
|  CCollectInternetChecksumInstance |  | 
|  CCollectIPSecInfo |  | 
|  CCollectLocalStructAndFlatten |  | 
|  CCollectLocalVariables |  | 
|  CCollectMetadataHeaderInfo |  | 
|  CCollectProgramStructure |  | 
|  CCollectStructLocalVariables |  | 
|  CCollectTableInfo |  | 
|  CCollectUseDefInfo |  | 
|  CCollectUsedMetadataField | This pass Collects all metadata struct member used in program  | 
|  CConvertActionSelectorAndProfile |  | 
|  CConvertBinaryOperationTo2Params |  | 
|  CConvertInternetChecksum |  | 
|  CConvertLogicalExpression |  | 
|  ►CConvertLookahead |  | 
|  CCollect |  | 
|  CReplace |  | 
|  CReplacementMap |  | 
|  CConvertStatementToDpdk |  | 
|  CConvertToDpdkArch |  | 
|  CConvertToDpdkControl |  | 
|  CConvertToDpdkParser |  | 
|  CConvertToDpdkProgram |  | 
|  CConvertToString |  | 
|  CCopyMatchKeysToSingleStruct |  | 
|  CCopyPropagationAndElimination | This pass identifies redundant copies/moves and eliminates them  | 
|  CDeclarationInjector |  | 
|  CDefActionValue |  | 
|  CDirectionToRegRead |  | 
|  CDismantleMuxExpressions |  | 
|  CDpdkAddPseudoHeader |  | 
|  CDpdkAddPseudoHeaderDecl | This pass adds a pseudo header declaration, it will be used as container of operands where dpdk instructions require it's operand to be in a header. It adds a type decl like below @__pseudo_header__ header dpdk_pseudo_header_t { }  | 
|  CDpdkArchFirst |  | 
|  CDpdkArchLast |  | 
|  CDpdkAsmOptimization |  | 
|  CDpdkBackend |  | 
|  CDpdkContextGenerator | This pass generates context JSON into user specified file  | 
|  CDpdkHandleIPSec |  | 
|  CDpdkMidEnd |  | 
|  CDpdkOptions |  | 
|  CElimHeaderCopy |  | 
|  CEliminateHeaderCopy |  | 
|  CEliminateUnusedAction |  | 
|  CElimUnusedActions |  | 
|  CEmitDpdkTableConfig |  | 
|  CEnumOn32Bits |  | 
|  CErrorWidth |  | 
|  CExpressionUnroll |  | 
|  CexternAttributes |  | 
|  CfieldInfo |  | 
|  CHaveNonHeaderChecksumArgs |  | 
|  CHaveNonHeaderLargeOperandAssignment | This pass checks whether an assignment statement has large operands (>64-bit)  | 
|  CIfStatementUnroll |  | 
|  CInjectFixedMetadataField |  | 
|  CInjectInternetChecksumIntermediateValue |  | 
|  CInjectJumboStruct |  | 
|  CInsertReqDeclForIPSec |  | 
|  CIsDirectionMetadataUsed |  | 
|  CkeyElementInfo |  | 
|  CkeyInfo |  | 
|  CLogicalExpressionUnroll |  | 
|  CMoveCollectedStructLocalVariableToMetadata |  | 
|  CMoveNonHeaderFieldsToPseudoHeader | This pass identifies and collects statement which requires it's operand to be in a header and also initialize added header fields with original operand. i.e. csum_0.add<tuple_0>((tuple_0){f0 = m.Ingress_tmp_1,f1 = m.Ingress_tmp_2, f2 = m.Ingress_tmp_3,f3 = m.Ingress_tmp_4,f4 = m.Ingress_tmp_5}); transformed into h.dpdk_pseudo_header.pseudo = (bit<16>)m.Ingress_tmp_1; h.dpdk_pseudo_header.pseudo_0 = (bit<16>)m.Ingress_tmp_2; h.dpdk_pseudo_header.pseudo_1 = (bit<8>)m.Ingress_tmp_3; h.dpdk_pseudo_header.pseudo_2 = (bit<32>)m.Ingress_tmp_4; h.dpdk_pseudo_header.pseudo_3 = (bit<32>)m.Ingress_tmp_5; csum_0.add<tuple_1>((tuple_1){f0 = h.dpdk_pseudo_header.pseudo, f1 = h.dpdk_pseudo_header.pseudo_0,f2 = h.dpdk_pseudo_header.pseudo_1, f3 = h.dpdk_pseudo_header.pseudo_2,f4 = h.dpdk_pseudo_header.pseudo_3});  | 
|  CPrependPassRecircId |  | 
|  CPrependPDotToActionArgs |  | 
|  CProcessControls | Only simplify complex expression in ingress/egress  | 
|  CRemoveConsecutiveJmpAndLabel |  | 
|  CRemoveLabelAfterLabel |  | 
|  CRemoveRedundantLabel | This pass removes label that no jmps jump to  | 
|  CRemoveUnusedMetadataFields | This pass removes all unused fields from metadata struct  | 
|  CReplaceHdrMetaField |  | 
|  CSelectionTable | Selection table attributes  | 
|  CShortenTokenLength | This pass shorten the Identifier length  | 
|  CSplitActionProfileTable |  | 
|  CSplitActionSelectorTable |  | 
|  CSplitP4TableCommon |  | 
|  CStatementUnroll |  | 
|  CSwapSimpleExpressionToFrontOfLogicalExpression |  | 
|  CSwitchHandler |  | 
|  CTableAttributes |  | 
|  CTdiBfrtConf |  | 
|  CThreadJumps |  | 
|  CTopLevelCtxt | Program level information for context json  | 
|  CTypeWidthValidator |  | 
|  CUpdateActionForSwitch |  | 
|  CValidateAddOnMissExterns |  | 
|  CValidateDirectCounterMeter |  | 
|  CValidateOperandSize |  | 
|  ►NEBPF |  | 
|  CActionTranslationVisitor |  | 
|  CActionTranslationVisitorPSA |  | 
|  CBccTarget | Represents a target compiled by bcc that uses the TC  | 
|  CCodeBuilder |  | 
|  CCodeGenInspector |  | 
|  CControlBodyTranslator |  | 
|  CControlBodyTranslatorPSA |  | 
|  CConvertToEBPFControlPSA |  | 
|  CConvertToEBPFDeparserPSA |  | 
|  CConvertToEBPFParserPSA |  | 
|  CConvertToEbpfPipeline |  | 
|  CConvertToEbpfPSA |  | 
|  CCounterArray_Model |  | 
|  CCRC16ChecksumAlgorithm |  | 
|  CCRC32ChecksumAlgorithm |  | 
|  CCRCChecksumAlgorithm |  | 
|  CDeparserBodyTranslator | This translator emits deparser externs  | 
|  CDeparserBodyTranslatorPSA |  | 
|  CDeparserHdrEmitTranslator | This translator emits headers  | 
|  CDeparserPrepareBufferTranslator | This translator emits buffer preparation (eg. which headers will be emitted)  | 
|  CEBPFActionProfilePSA |  | 
|  CEBPFActionSelectorPSA |  | 
|  CEBPFBoolType |  | 
|  CEBPFChecksumPSA |  | 
|  CEbpfCodeGenerator |  | 
|  CEBPFControl |  | 
|  CEBPFControlPSA |  | 
|  CEBPFCounterPSA |  | 
|  CEBPFCounterTable |  | 
|  CEBPFDeparser |  | 
|  CEBPFDeparserPSA |  | 
|  CEBPFDigestPSA |  | 
|  CEBPFDigestPSAValueVisitor |  | 
|  CEBPFEgressPipeline |  | 
|  CEBPFEnumType |  | 
|  CEBPFErrorType |  | 
|  CEBPFHashAlgorithmPSA |  | 
|  CEBPFHashAlgorithmTypeFactoryPSA |  | 
|  CEBPFHashPSA |  | 
|  CEBPFIngressPipeline |  | 
|  CEBPFInitializerUtils |  | 
|  CEBPFInternetChecksumPSA |  | 
|  CEBPFMeterPSA |  | 
|  CEBPFMethodDeclaration | Methods are function signatures  | 
|  CEBPFModel | Keep this in sync with ebpf_model.p4 and xdp_model.p4  | 
|  CEBPFObject | Base class for EBPF objects  | 
|  CEBPFParser |  | 
|  CEBPFParserState |  | 
|  CEBPFPipeline | EBPFPipeline represents a single eBPF program in the TC/XDP hook  | 
|  CEBPFProgram |  | 
|  CEBPFPsaParser |  | 
|  CEBPFRandomPSA |  | 
|  CEBPFRegisterPSA |  | 
|  CEBPFScalarType |  | 
|  CEBPFStackType |  | 
|  CEBPFStructType | Also represents headers and unions  | 
|  CEBPFTable |  | 
|  CEBPFTableBase | Also used to represent counters  | 
|  CEBPFTableImplementationPSA | Base class for ActionProfile and ActionSelector  | 
|  CEBPFTablePSA |  | 
|  CEBPFTablePSADirectCounterPropertyVisitor |  | 
|  CEBPFTablePSADirectMeterPropertyVisitor |  | 
|  CEBPFTablePSAImplementationPropertyVisitor |  | 
|  CEBPFTablePSAInitializerCodeGen |  | 
|  CEBPFTablePsaPropertyVisitor |  | 
|  CEBPFTablePSATernaryKeyMaskGenerator | Build mask initializer for a single table key entry  | 
|  CEBPFTablePSATernaryTableMaskGenerator | Generate mask for whole table key  | 
|  CEBPFType | Base class for EBPF types  | 
|  CEBPFTypeFactory |  | 
|  CEBPFTypeName | This should not always implement IHasWidth, but it may..  | 
|  CEBPFValueSet |  | 
|  CEgressDeparserPSA |  | 
|  CEnumOn32Bits |  | 
|  CFilter_Model |  | 
|  CIHasWidth |  | 
|  CIngressDeparserPSA |  | 
|  CInternetChecksumAlgorithm |  | 
|  CKernelSamplesTarget |  | 
|  CLower |  | 
|  CLowerExpressions | This pass rewrites expressions which are not supported natively on EBPF  | 
|  CMidEnd |  | 
|  CP4TCTarget |  | 
|  CPSAArchTC |  | 
|  CPSAArchXDP |  | 
|  CPSAEbpfGenerator |  | 
|  CPSAErrorCodesGen |  | 
|  CPsaStateTranslationVisitor |  | 
|  CPSASwitchBackend |  | 
|  CStateTranslationVisitor |  | 
|  CTableImpl_Model |  | 
|  CTarget |  | 
|  CTCEgressDeparserPSA |  | 
|  CTCEgressPipeline |  | 
|  CTCIngressDeparserForTrafficManagerPSA |  | 
|  CTCIngressDeparserPSA |  | 
|  CTCIngressPipeline |  | 
|  CTCTrafficManagerForXDP |  | 
|  CTestTarget |  | 
|  CXdp_Model |  | 
|  CXDPEgressDeparserPSA |  | 
|  CXDPEgressPipeline |  | 
|  CXDPHelpProgram |  | 
|  CXDPIngressDeparserPSA |  | 
|  CXDPIngressPipeline |  | 
|  CXdpTarget | Target XDP  | 
|  ►Ngraphs |  | 
|  ►CControlGraphs |  | 
|  CControlStack |  | 
|  CEdgeIf |  | 
|  CEdgeSwitch |  | 
|  CEdgeTypeIface |  | 
|  CEdgeUnconditional |  | 
|  CGraph_visitor |  | 
|  ►CGraphs |  | 
|  CGraphAttributeSetter |  | 
|  CVertex |  | 
|  CMidEnd |  | 
|  COptions |  | 
|  ►CParserGraphs |  | 
|  CTransitionEdge |  | 
|  ►NIndentCtl |  | 
|  CTempIndent |  | 
|  ►NIR |  | 
|  Chas_static_type_name |  | 
|  Chas_static_type_name< T, std::void_t< decltype(T::static_type_name())> > |  | 
|  CID |  | 
|  CIDeclaration | The Declaration interface, representing objects with names  | 
|  CIndexedVector |  | 
|  CINode |  | 
|  CNameMap |  | 
|  CNode |  | 
|  CNodeMap |  | 
|  CVector |  | 
|  CVectorBase |  | 
|  ►NLog |  | 
|  ►NDetail |  | 
|  CLevelAndOutput |  | 
|  COutputLogPrefix |  | 
|  ►NModel |  | 
|  CElem |  | 
|  CEnum_Model | Enum_Model : Type_Model  | 
|  CExtern_Model | Extern_Model : Type_Model  | 
|  CModel |  | 
|  CParam_Model | Param_Model : Elem  | 
|  CType_Model |  | 
|  ►NNetHash | A collection of hashing functions commonly used in network protocols  | 
|  CIdentity | A class with the same signature as reflect, but just returning the data  | 
|  CReflect |  | 
|  ►NP4 |  | 
|  ►NBFRT |  | 
|  ►CBFRuntimeGenerator |  | 
|  CActionProf |  | 
|  CCounter | Common counter representation between PSA and other architectures  | 
|  CDigest | Common digest representation between PSA and other architectures  | 
|  CMeter | Common meter representation between PSA and other architectures  | 
|  CRegister | Common register representation between PSA and other architectures  | 
|  ►CBFRuntimeSchemaGenerator |  | 
|  CActionSelector |  | 
|  ►CTypeSpecParser |  | 
|  CField |  | 
|  ►NControlPlaneAPI | TODO(antonin): High level goals of the generator go here!!  | 
|  ►NHelpers |  | 
|  CCounterlike |  | 
|  CCounterlikeTraits | A traits class describing the properties of "counterlike" things  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for CounterExtern for PNA  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for CounterExtern for PSA  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for CounterExtern for v1model  | 
|  CCounterlikeTraits< Standard::CounterExtern< Standard::Arch::V1MODEL2020 > > |  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PNA > > | CounterlikeTraits<> specialization for MeterExtern for PNA  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::PSA > > | CounterlikeTraits<> specialization for MeterExtern for PSA  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL > > | CounterlikeTraits<> specialization for MeterExtern for v1model  | 
|  CCounterlikeTraits< Standard::MeterExtern< Standard::Arch::V1MODEL2020 > > |  | 
|  ►NStandard | Declarations specific to standard architectures (v1model & PSA)  | 
|  CActionProfile |  | 
|  CActionProfileTraits |  | 
|  CActionProfileTraits< Arch::PNA > |  | 
|  CActionProfileTraits< Arch::PSA > |  | 
|  CActionProfileTraits< Arch::V1MODEL > |  | 
|  CActionProfileTraits< Arch::V1MODEL2020 > |  | 
|  CActionSelector |  | 
|  CActionSelectorTraits |  | 
|  CActionSelectorTraits< Arch::PNA > |  | 
|  CActionSelectorTraits< Arch::PSA > |  | 
|  CActionSelectorTraits< Arch::V1MODEL > |  | 
|  CActionSelectorTraits< Arch::V1MODEL2020 > |  | 
|  CBFRuntimeArchHandler |  | 
|  CBFRuntimeArchHandlerPNA |  | 
|  CBFRuntimeArchHandlerPSA |  | 
|  CCounterExtern |  | 
|  CDigest |  | 
|  CMeterExtern |  | 
|  CP4RuntimeArchHandlerCommon |  | 
|  CP4RuntimeArchHandlerPNA |  | 
|  CP4RuntimeArchHandlerPSA |  | 
|  CP4RuntimeArchHandlerPSAPNA |  | 
|  CP4RuntimeArchHandlerUBPF |  | 
|  CP4RuntimeArchHandlerV1Model |  | 
|  CPNAArchHandlerBuilder | The architecture handler builder implementation for PNA  | 
|  CPNAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PNA  | 
|  CPSAArchHandlerBuilder | The architecture handler builder implementation for PSA  | 
|  CPSAArchHandlerBuilderForDPDK | The architecture handler builder implementation for PSA  | 
|  CRegister |  | 
|  CRegisterTraits | Traits for the register extern, must be specialized for v1model and PSA  | 
|  CRegisterTraits< Arch::PNA > |  | 
|  CRegisterTraits< Arch::PSA > |  | 
|  CRegisterTraits< Arch::V1MODEL > |  | 
|  CRegisterTraits< Arch::V1MODEL2020 > |  | 
|  CSymbolType |  | 
|  CSymbolTypeDPDK | Extends P4RuntimeSymbolType for the DPDK extern types  | 
|  CUBPFArchHandlerBuilder | The architecture handler builder implementation for UBPF  | 
|  CV1ModelArchHandlerBuilder | The architecture handler builder implementation for v1model  | 
|  CActionRef |  | 
|  CControllerType | See section "User-defined types" in P4RT specification  | 
|  CDefaultAction | The information about a default action which is needed to serialize it  | 
|  CFieldIdAllocator |  | 
|  CFlattenHeader | Flattens a header type "locally", without modifying the IR  | 
|  CMatchField | The information about a match field which is needed to serialize it  | 
|  CP4InfoMaps |  | 
|  CP4RuntimeAnalyzer |  | 
|  CP4RuntimeArchHandlerBuilderIface |  | 
|  CP4RuntimeArchHandlerIface |  | 
|  CP4RuntimeEntriesConverter |  | 
|  CP4RuntimeSymbolTable |  | 
|  CP4RuntimeSymbolTableIface |  | 
|  CP4RuntimeSymbolType |  | 
|  CP4SymbolSuffixSet |  | 
|  CParseP4RuntimeAnnotations | Parses P4Runtime-specific annotations  | 
|  CTranslationAnnotation | Payload of @p4runtime_translation annotation  | 
|  CTypeSpecConverter | Generates the appropriate p4.P4DataTypeSpec for a given IR::Type node  | 
|  ►NCoverage |  | 
|  CCollectNodes |  | 
|  CCoverageOptions | Specifies general options and which IR nodes to track with this particular visitor  | 
|  CSourceIdCmp | Utility function to compare IR nodes in a set. We use their source info  | 
|  ►NParserStructureImpl |  | 
|  CParserStateRewriter |  | 
|  CParserSymbolicInterpreter |  | 
|  CAbstractInliner |  | 
|  CAbstractParserDriver |  | 
|  CActionCall |  | 
|  CActionInvocation |  | 
|  CActionReplacement |  | 
|  CActionsInliner |  | 
|  CActionSynthesisPolicy |  | 
|  CAddMissingIdAnnotations |  | 
|  CAllDefinitions |  | 
|  CAnalyzeParser |  | 
|  CAnnotationSelectionPolicy |  | 
|  CAnyElement |  | 
|  CApplyMethod |  | 
|  CApplyOptionsPragmas |  | 
|  CApplyTypesToExpressions |  | 
|  CArrayLocation |  | 
|  CBaseLocation |  | 
|  CBinaryConstraint | Base class for EqualityConstraint and CanBeImplicitlyCastConstraint  | 
|  CBindTypeVariables |  | 
|  CBuildResourceMap |  | 
|  CBuiltInMethod |  | 
|  ►CCallGraph |  | 
|  CLoop |  | 
|  CLoops |  | 
|  CsccInfo |  | 
|  CCallInfo | Describes information about a caller-callee pair  | 
|  CCanBeImplicitlyCastConstraint | The right type can be implicitly cast to the left type  | 
|  CCastBooleanTableKeys |  | 
|  CCheckConstants |  | 
|  CCheckCoreMethods |  | 
|  CCheckExternInvocationCommon | Base class which can be used to prepare classes for checking constraints for invocations of externs (both methods and pure functions) in parsers and control blocks  | 
|  CCheckNamedArgs |  | 
|  CCheckTableSize | Checks some possible misuses of the table size property  | 
|  CChooseEnumRepresentation |  | 
|  CChooseErrorRepresentation |  | 
|  CClearTypeMap |  | 
|  CCloneConstants |  | 
|  CCloneExpressions |  | 
|  CCloneVariableDeclarations |  | 
|  CCompileTimeOperations |  | 
|  ►CComplexValues |  | 
|  CComponent |  | 
|  CFieldsMap |  | 
|  CFinalName |  | 
|  ►CComputeDefUse | Compute defuse info within P4Parser and P4Control blocks in the midend  | 
|  Cloc_t |  | 
|  CSetupJoinPoints |  | 
|  CComputeParserCG | Builds a CallGraph of ParserState nodes  | 
|  CComputeWriteSet |  | 
|  CConstantFolding |  | 
|  CConstantFoldingPolicy |  | 
|  CConstantTypeSubstitution |  | 
|  CConstructorCall |  | 
|  CContainerConstructorCall |  | 
|  CContainsType |  | 
|  CControlInstantiation |  | 
|  CConvertEnums |  | 
|  CConvertErrors |  | 
|  CCopySrcInfo |  | 
|  CCopyStructures |  | 
|  CCreateBuiltins |  | 
|  CCreateSpecializedTypes |  | 
|  CCreateStructInitializers | Converts some list expressions into struct initializers  | 
|  CDeclarationLookup |  | 
|  CDefaultArguments |  | 
|  CDefaultValues |  | 
|  CDefinitions | List of definers for each base storage (at a specific program point)  | 
|  CDeprecated |  | 
|  CDiagnosticCountInfo |  | 
|  CDiagnosticCountInfoGuard |  | 
|  CDiagnosticCountInfoState |  | 
|  ►CDirectMeterMap |  | 
|  CDirectMeterInfo |  | 
|  CDiscoverActionsInlining |  | 
|  CDiscoverFunctionsInlining |  | 
|  CDiscoverInlining | Must be run after an evaluator; uses the blocks to discover caller/callee relationships  | 
|  CDiscoverStructure |  | 
|  CDoBindTypeVariables |  | 
|  CDoCheckConstants |  | 
|  CDoCheckCoreMethods | Check types for arguments of core.p4 methods  | 
|  CDoConstantFolding | Statically evaluates many constant expressions  | 
|  CDoConvertEnums |  | 
|  CDoConvertErrors |  | 
|  CDoCopyStructures |  | 
|  CDoDefaultArguments |  | 
|  CDoDefaultValues |  | 
|  CDoEliminateInvalidHeaders |  | 
|  CDoEliminateSerEnums |  | 
|  CDoEliminateSwitch |  | 
|  CDoExpandEmit |  | 
|  CDoExpandLookahead |  | 
|  CDoFlattenHeaderUnion |  | 
|  CDoFlattenHeaderUnionStack |  | 
|  CDoGlobalCopyPropagation |  | 
|  CDoHandleNoMatch |  | 
|  ►CDoLocalCopyPropagation |  | 
|  CElimDead |  | 
|  CRewriteTableKeys |  | 
|  CDoMoveActionsToTables |  | 
|  CDontcareArgs |  | 
|  CDoOrderArguments |  | 
|  CDoRemoveActionParameters |  | 
|  CDoRemoveAssertAssume |  | 
|  CDoRemoveExits |  | 
|  CDoRemoveLeftSlices |  | 
|  CDoRemoveMiss |  | 
|  CDoRemoveParserControlFlow | Converts if statements in parsers into transitions  | 
|  CDoRemoveReturns |  | 
|  CDoRemoveSelectBooleans |  | 
|  CDoReplaceNewtype |  | 
|  CDoReplaceSelectRange |  | 
|  CDoReplaceTuples |  | 
|  CDoReplaceTypedef |  | 
|  CDoResetHeaders | Explicitly invalidate uninitialized header variables  | 
|  CDoSetHeaders |  | 
|  CDoSimplifyControlFlow | Replace complex control flow nodes with simpler ones where possible  | 
|  CDoSimplifyDefUse |  | 
|  CDoSimplifyExpressions | Convert expressions so that each expression contains at most one side effect  | 
|  CDoSimplifyKey |  | 
|  CDoSimplifyParsers | Remove unreachable parser states, and collapse simple chains of states  | 
|  CDoSimplifySelectCases |  | 
|  CDoSimplifySwitch | Simplify select and switch statements that have constant arguments  | 
|  ►CDoSingleArgumentSelect |  | 
|  CPair | A pair of expression representing an expression and a mask  | 
|  CDoStaticAssert |  | 
|  CDoStrengthReduction |  | 
|  CDoSynthesizeActions |  | 
|  CDoTableHit |  | 
|  CDoTableKeyNames |  | 
|  CDuplicateActions |  | 
|  CEliminateInvalidHeaders |  | 
|  CEliminateNewtype |  | 
|  CEliminateSerEnums |  | 
|  CEliminateSubparserCalls |  | 
|  CEliminateSwitch |  | 
|  CEliminateTuples |  | 
|  CEliminateTypedef |  | 
|  CEntryPriorities | Assigns priorities to table entries if they are not 'const'  | 
|  CEnumInstance |  | 
|  CEnumOn32Bits |  | 
|  CEnumRepresentation |  | 
|  CEqualityConstraint | Requires two types to be equal  | 
|  CEvaluator |  | 
|  CEvaluatorPass |  | 
|  CExpandEmit |  | 
|  CExpandLookahead |  | 
|  CExplain | Creates a string that describes the values of current type variables  | 
|  CExpressionEvaluator |  | 
|  CExternConstructorCall |  | 
|  CExternFunction |  | 
|  CExternInstance |  | 
|  CExternInstantiation |  | 
|  CExternMethod |  | 
|  CFillEnumMap |  | 
|  CFindActionParameters |  | 
|  CFindFunctionSpecializations |  | 
|  CFindGlobalActionUses |  | 
|  CFindHeaderTypesToReplace |  | 
|  CFindParameters | Finds parameters for actions that will be given unique names  | 
|  CFindRedundantParsers |  | 
|  CFindRepeatedActionUses |  | 
|  CFindSpecializations |  | 
|  CFindSymbols |  | 
|  CFindTypesInLogMsgInvocationToReplace |  | 
|  CFindTypeSpecializations |  | 
|  CFindTypesToReplace |  | 
|  CFindVariableValues |  | 
|  CFlattenHeaders |  | 
|  CFlattenHeaderUnion |  | 
|  CFlattenInterfaceStructs |  | 
|  CFlattenLogMsg |  | 
|  CFrontEnd |  | 
|  CFrontEndPolicy |  | 
|  CFunctionCall |  | 
|  CFunctionsInliner |  | 
|  CFunctionSpecialization | Describes how a generic function is specialized  | 
|  CFunctionSpecializationMap |  | 
|  CGeneralInliner | Performs actual inlining work  | 
|  CGlobalActionReplacements |  | 
|  CGlobalCopyPropagation |  | 
|  CHandleNoMatch |  | 
|  CHandleValidityHeaderUnion |  | 
|  CHasExits |  | 
|  CHasTableApply | Checks to see whether an IR node includes a table.apply() sub-expression  | 
|  CHierarchicalNames |  | 
|  CHSIndexContretizer |  | 
|  CHSIndexFinder |  | 
|  CHSIndexSimplifier |  | 
|  CHSIndexTransform | This class substitutes index of a header stack in all occurences of found header stack  | 
|  CIfInParser | Detect whether the program contains an 'if' statement in a parser  | 
|  CIHasBlock |  | 
|  CIndexedLocation | Interface for locations that support an index operation  | 
|  CInline |  | 
|  CInlineActions |  | 
|  CInlineDriver |  | 
|  CInlineFunctions |  | 
|  CInlineList |  | 
|  CInlinePass | Performs one round of inlining bottoms-up  | 
|  ►CInlineSummary | Summarizes all inline operations to be performed  | 
|  ►CPerCaller | Various substitutions that must be applied for each instance  | 
|  Ckey_equal |  | 
|  Ckey_hash |  | 
|  CInspectPsaProgram |  | 
|  CInstanceBase |  | 
|  CInstantiateDirectCalls |  | 
|  CInstantiation | Used to resolve a Declaration_Instance  | 
|  CIOptionPragmaParser |  | 
|  CIsLikeLeftValue |  | 
|  CIsMask |  | 
|  CIsNonConstantArrayIndex |  | 
|  CIsValid |  | 
|  CKeyIsSimple |  | 
|  CKeyNameGenerator |  | 
|  CKeySideEffect |  | 
|  Cloc_t |  | 
|  CLocalCopyPropagation |  | 
|  CLocalizeActions |  | 
|  CLocalizeAllActions |  | 
|  CLocationPath |  | 
|  CLocationSet |  | 
|  CMethodInstance |  | 
|  CMidEndLast |  | 
|  CMinimalNameGenerator |  | 
|  CMissingIdAssigner |  | 
|  CMoveActionsToTables |  | 
|  CMoveConstructors |  | 
|  CMoveDeclarations |  | 
|  CMoveInitializers |  | 
|  CNameGenerator |  | 
|  CNestedStructMap |  | 
|  CNestedStructs |  | 
|  COrderArguments |  | 
|  COrPolicy |  | 
|  CP4COptionPragmaParser |  | 
|  CP4CoreLibrary |  | 
|  CP4Exception_Model |  | 
|  CP4ParserDriver | A ParserDriver that can parse P4-16 programs  | 
|  CP4RuntimeAPI |  | 
|  CP4RuntimeSerializer | Public APIs to generate P4Info message. Uses the singleton pattern  | 
|  CPackageInstantiation |  | 
|  CPacketIn |  | 
|  CPacketOut |  | 
|  CParameterSubstitution |  | 
|  CParseAnnotationBodies | Clears a type map after calling a ParseAnnotations instance  | 
|  CParseAnnotations |  | 
|  CParsePsaArchitecture |  | 
|  CParserInfo | Information produced for a parser by the symbolic evaluator  | 
|  CParserInstantiation |  | 
|  CParserRewriter |  | 
|  CParserStateInfo | Information produced for a parser state by the symbolic evaluator  | 
|  CParserStructure | Information about a parser in the input program  | 
|  CParsersUnroll |  | 
|  CPerInstanceSubstitutions |  | 
|  CPredication |  | 
|  CProgramMap |  | 
|  CProgramPoint | Indicates a statement in the program  | 
|  CProgramPoints |  | 
|  CProgramStructure |  | 
|  CPsaProgramStructure |  | 
|  CReadsWrites | Computes the SetOfLocations read and written by an expression  | 
|  CReassociation |  | 
|  CReferenceMap | Class used to encode maps from paths to declarations  | 
|  CRemoveActionParameters |  | 
|  CRemoveAliases |  | 
|  CRemoveAllUnusedDeclarations | Iterates RemoveUnusedDeclarations until convergence  | 
|  CRemoveAssertAssume |  | 
|  CRemoveBreakContinue |  | 
|  CRemoveComplexComparisons |  | 
|  CRemoveComplexExpressions |  | 
|  CRemoveComplexExpressionsPolicy |  | 
|  CRemoveDontcareArgs |  | 
|  CRemoveExits |  | 
|  CRemoveGenericTypes | Removes all structs or stacks that are generic  | 
|  CRemoveHidden |  | 
|  CRemoveLeftSlices |  | 
|  CRemoveMiss |  | 
|  CRemoveModifiedValues |  | 
|  CRemoveNestedStructs |  | 
|  CRemoveParserControlFlow |  | 
|  CRemoveParserIfs |  | 
|  CRemoveRedundantParsers |  | 
|  CRemoveReturns |  | 
|  CRemoveSelectBooleans |  | 
|  CRemoveUnusedActionParameters |  | 
|  CRemoveUnusedDeclarations | Removes unused declarations  | 
|  CRemoveUnusedHUDeclarations |  | 
|  CRemoveUnusedPolicy |  | 
|  CRemoveUselessCasts |  | 
|  CRenameMap |  | 
|  CRenameSymbols |  | 
|  CReplaceHeaders |  | 
|  CReplaceIndexRefs |  | 
|  CReplaceLogMsg |  | 
|  CReplacementMap |  | 
|  CReplaceSelectRange |  | 
|  CReplaceStructs |  | 
|  CReplaceTypeUses |  | 
|  CResetHeaders | Invokes TypeChecking followed by DoResetHeaders  | 
|  CResolutionContext | Visitor mixin for looking up names in enclosing scopes from the Visitor::Context  | 
|  CResolveReferences |  | 
|  CRewriteAllParsers |  | 
|  CSameExpression |  | 
|  CSaturationElim | Contains utility functions for eliminating saturating arithmetic  | 
|  CScalarValue |  | 
|  CSerEnumInstance |  | 
|  CSetHeaders |  | 
|  CSetOfLocations |  | 
|  CSideEffectOrdering |  | 
|  CSideEffects | Determines whether an expression may have method or constructor invocations  | 
|  CSimpleCallInfo |  | 
|  CSimpleEnumInstance | An instance of a simple enum, e.g., X.A from enum X { A, B }  | 
|  CSimpleInlineList |  | 
|  CSimpleInlineWorkList |  | 
|  CSimplifyBitwise |  | 
|  CSimplifyComparisons |  | 
|  CSimplifyControlFlow |  | 
|  CSimplifyDefUse |  | 
|  CSimplifyKey |  | 
|  CSimplifyParsers |  | 
|  CSimplifySelectCases |  | 
|  CSimplifySelectList |  | 
|  CSimplifySwitch |  | 
|  CSingleArgumentSelect |  | 
|  CSpecializationInfo | Describes how a parser or control is specialized  | 
|  CSpecializationMap | Maintains a map from invocation to a SpecializationInfo object  | 
|  CSpecialize | Specializes each Parser and Control with constant constructor arguments by substituting type arguments and constructor parameters  | 
|  CSpecializeAll | Specializes each Parser and Control by substituting type arguments and constructor parameters  | 
|  CSpecializeFunctions | Specializes each generic function by substituting type parameters  | 
|  CSpecializeGenericFunctions |  | 
|  CSpecializeGenericTypes | Specializes each generic type by substituting type parameters  | 
|  CStackVariable |  | 
|  CStackVariableHash | Class with hash function for StackVariable  | 
|  CStaticAssert |  | 
|  CStorageFactory |  | 
|  CStorageLocation | Abstraction for something that is has a left value (variable, parameter)  | 
|  CStorageMap | Maps a declaration to its associated storage  | 
|  CStrengthReduction |  | 
|  CStructInitializers |  | 
|  CStructLocation |  | 
|  CStructTypeReplacement |  | 
|  CSubstituteParameters |  | 
|  CSubstituteStructures |  | 
|  CSwitchAddDefault |  | 
|  CSymbolicArray |  | 
|  CSymbolicBool |  | 
|  CSymbolicEnum |  | 
|  CSymbolicError |  | 
|  CSymbolicException |  | 
|  CSymbolicExtern |  | 
|  CSymbolicHeader |  | 
|  CSymbolicHeaderUnion |  | 
|  CSymbolicInteger |  | 
|  CSymbolicPacketIn |  | 
|  CSymbolicStaticError |  | 
|  CSymbolicStruct |  | 
|  CSymbolicTuple |  | 
|  CSymbolicValue |  | 
|  CSymbolicValueFactory |  | 
|  CSymbolicVarbit |  | 
|  CSymbolicVoid |  | 
|  CSymRenameMap |  | 
|  CSynthesizeActions |  | 
|  CTableApplySolver |  | 
|  CTableHit |  | 
|  CTableInsertions |  | 
|  CTableKeyNames |  | 
|  CTablesInActions |  | 
|  CTablesInKeys |  | 
|  CTagGlobalActions |  | 
|  CToP4 |  | 
|  CTupleLocation |  | 
|  CTypeChecking |  | 
|  CTypeConstraint |  | 
|  CTypeConstraints |  | 
|  ►CTypeInference |  | 
|  CComparison |  | 
|  CTypeMap |  | 
|  CTypeOccursVisitor |  | 
|  CTypeSpecialization |  | 
|  CTypeSpecializationMap |  | 
|  CTypeSubstitution |  | 
|  CTypeSubstitutionVisitor |  | 
|  CTypeUnification |  | 
|  CTypeVariableSubstitution |  | 
|  CTypeVariableSubstitutionVisitor |  | 
|  CUniqueNames |  | 
|  CUniqueParameters |  | 
|  CUnnestSelectList |  | 
|  ►CUnrollLoops |  | 
|  Cloop_bounds_t |  | 
|  CPolicy |  | 
|  CUselessCasts |  | 
|  CValidateMatchAnnotations |  | 
|  CValidateParsedProgram |  | 
|  CValidateTableProperties |  | 
|  CValidateValueSets |  | 
|  CValueMap |  | 
|  CVisitedKey | The main class for parsers' states key for visited checking  | 
|  CWithFieldsLocation | Base class for location sets that contain fields  | 
|  ►NP4_14 |  | 
|  CInlineActions | Special inliner which works directly on P4-14 representation  | 
|  ►NP4Fmt |  | 
|  CP4fmtOptions |  | 
|  ►NP4Test |  | 
|  CMidEnd |  | 
|  CSkipControls |  | 
|  ►NP4Tools |  | 
|  ►NP4Smith |  | 
|  ►NBMv2 |  | 
|  CAbstractBMv2SmithTarget |  | 
|  CBmv2PsaSmithTarget |  | 
|  CBmv2V1modelSmithTarget |  | 
|  ►NGeneric |  | 
|  CAbstractGenericSmithTarget |  | 
|  CGenericCoreSmithTarget |  | 
|  ►NNic |  | 
|  CAbstractNicSmithTarget |  | 
|  CDpdkPnaSmithTarget |  | 
|  ►NTofino |  | 
|  CAbstractTofinoSmithTarget |  | 
|  CTofinoTnaSmithTarget |  | 
|  CConstraints |  | 
|  CDeclarationGenerator |  | 
|  CExpressionGenerator |  | 
|  CGenerator |  | 
|  CP4Scope |  | 
|  CParserGenerator |  | 
|  CProperties |  | 
|  CRequirements |  | 
|  CSmith |  | 
|  CSmithTarget |  | 
|  CStatementGenerator |  | 
|  CTableGenerator |  | 
|  CWordlist |  | 
|  ►NP4Testgen |  | 
|  ►NBmv2 | Inja  | 
|  CAssertsParser |  | 
|  CBmv2Concolic |  | 
|  CBMv2Constants |  | 
|  CBmv2TestBackend |  | 
|  CBmv2TestFramework | Bmv2TestFramework provides common utility functions for BMv2-style test frameworks  | 
|  CBmv2V1ModelActionProfile |  | 
|  CBmv2V1ModelActionSelector |  | 
|  CBmv2V1ModelCloneInfo |  | 
|  CBmv2V1ModelCloneSpec |  | 
|  CBmv2V1ModelCmdStepper |  | 
|  CBMv2V1ModelCompilerResult | Extends the CompilerResult with information specific to the V1Model running on BMv2  | 
|  CBmv2V1ModelExprStepper |  | 
|  CBmv2V1ModelMeterValue |  | 
|  CBmv2V1ModelProgramInfo |  | 
|  CBmv2V1ModelRegisterValue |  | 
|  CBmv2V1ModelTableStepper |  | 
|  CBmv2V1ModelTestgenTarget |  | 
|  CIndexExpression |  | 
|  CIndexMap | Readable and writable symbolic map, which maps indices to particular values  | 
|  CLexer |  | 
|  CMapDirectExterns |  | 
|  CMetadata | Extracts information from the @testSpec to emit a Metadata test case  | 
|  CMetadataCollection |  | 
|  COptional |  | 
|  CPropagateP4RuntimeTranslation |  | 
|  CProtobuf | Extracts information from the @testSpec to emit a Protobuf test case  | 
|  CProtobufIr | Extracts information from the @testSpec to emit a Protobuf IR test case  | 
|  CProtobufIrTest |  | 
|  CProtobufTest |  | 
|  CPTF | Extracts information from the @testSpec to emit a PTF test case  | 
|  CRange |  | 
|  CRefersToParser |  | 
|  CSTF | Extracts information from the @testSpec to emit a STF test case  | 
|  CToken |  | 
|  ►NEBPF |  | 
|  CEBPFCmdStepper |  | 
|  CEBPFConcolic |  | 
|  CEBPFConstants |  | 
|  CEBPFExprStepper |  | 
|  CEBPFProgramInfo |  | 
|  CEBPFTableStepper |  | 
|  CEBPFTestBackend |  | 
|  CEBPFTestgenTarget |  | 
|  CSTF | Extracts information from the @testSpec to emit a STF test case  | 
|  ►NPna | Inja  | 
|  CMetadata | Extracts information from the @testSpec to emit a Metadata test case  | 
|  CMetadataCollection |  | 
|  COptional |  | 
|  CPnaConstants |  | 
|  CPnaDpdkActionProfile |  | 
|  CPnaDpdkActionSelector |  | 
|  CPnaDpdkCmdStepper |  | 
|  CPnaDpdkConcolic |  | 
|  CPnaDpdkExprStepper |  | 
|  CPnaDpdkProgramInfo |  | 
|  CPnaDpdkRegisterCondition |  | 
|  CPnaDpdkRegisterValue |  | 
|  CPnaDpdkTableStepper |  | 
|  CPnaDpdkTestgenTarget |  | 
|  CPnaSymbolicVars | Variabless are variables that can be controlled and set by P4Testgen  | 
|  CPnaTestBackend |  | 
|  CPTF | Extracts information from the @testSpec to emit a PTF test case  | 
|  CRange |  | 
|  CSharedPnaCmdStepper |  | 
|  CSharedPnaExprStepper |  | 
|  CSharedPnaProgramInfo |  | 
|  ►CSharedPnaTableStepper |  | 
|  CSharedPnaProperties | Shared PNA table properties  | 
|  CAbstractStepper |  | 
|  CAbstractTest | Type definitions for abstract tests  | 
|  CActionArg |  | 
|  CActionCall |  | 
|  CCmdStepper | Implements small-step operational semantics for commands  | 
|  CCommandVisitor |  | 
|  CConcolic |  | 
|  CConcolicMethodImpls | Encapsulates a set of concolic method implementations  | 
|  CConcolicResolver |  | 
|  ►CContinuation |  | 
|  CBody | A continuation body is a list of commands  | 
|  CGuard |  | 
|  CParameter |  | 
|  CPropertyUpdate |  | 
|  CReturn |  | 
|  CCoverableNodesScanner |  | 
|  CDepthFirstSearch |  | 
|  CExact |  | 
|  ►CExecutionState | Represents state of execution after having reached a program point  | 
|  CStackFrame |  | 
|  ►CExprStepper | Implements small-step operational semantics for expressions  | 
|  CExternMethodImpls | Encapsulates a set of extern method implementations  | 
|  CPacketCursorAdvanceInfo |  | 
|  CExternInfo |  | 
|  CExternMethodImpls | Encapsulates a set of extern method implementations  | 
|  CFinalState | Represents the final state after execution  | 
|  CGreedyNodeSelection |  | 
|  CLPM |  | 
|  CPacket |  | 
|  CPacketVars |  | 
|  CProgramInfo | Stores target-specific information about a P4 program  | 
|  CRandomBacktrack |  | 
|  CSelectedBranches | Explores one path described by a list of branches  | 
|  ►CSmallStepEvaluator |  | 
|  CBranch |  | 
|  CSymbolicExecutor |  | 
|  CTableConfig |  | 
|  CTableMatch |  | 
|  CTableRule |  | 
|  CTableStepper | Implements small-step operational semantics for tables  | 
|  CTernary |  | 
|  ►CTestBackEnd |  | 
|  CTestInfo |  | 
|  CTestBackendConfiguration |  | 
|  CTestFramework |  | 
|  CTestgen | This is main implementation of the P4Testgen tool  | 
|  CTestgenCompilerResult | Extends the CompilerResult with the associated P4RuntimeApi  | 
|  CTestgenOptions | Encapsulates and processes command-line options for P4Testgen  | 
|  CTestgenTarget |  | 
|  CTestgenUnimplemented |  | 
|  CTestObject |  | 
|  CTestSpec |  | 
|  CVariableSubstitution |  | 
|  ►NTableUtils |  | 
|  CKeyProperties | KeyProperties define properties of table keys that are useful for execution  | 
|  CTableProperties | Basic table properties that are set when initializing the TableStepper  | 
|  ►NTraceEvents | This file defines explicit types of trace events extended from the generic trace class  | 
|  CAssignmentStatement | Represents an assignment statement  | 
|  CEmit | A field being emitted by a deparser  | 
|  CExpression | A simple event that stores the provided expression  | 
|  CExtractFailure |  | 
|  CExtractSuccess |  | 
|  CGeneric | A generic event that only takes in a string as label  | 
|  CGenericDescription |  | 
|  CIfStatementCondition | Represents an if statement condition  | 
|  CMethodCall | Label dedicated to method call expression  | 
|  CPacket | A packet that is either presented to a parser or emitted from a deparser  | 
|  CParserStart | Marks the start of a parser  | 
|  CParserState | Marks the entry into a parser state  | 
|  CAbstractExecutionState | Represents state of execution after having reached a program point  | 
|  CAbstractP4cTool |  | 
|  CAbstractP4cToolOptions |  | 
|  CAbstractRepCheckedNode |  | 
|  ►CArchSpec | Specifies a canonical representation of the target pipeline as documented in P4 code  | 
|  CArchMember | An ArchMember represents a construct in the pipe. It has a name and parameters  | 
|  CCompileContext | A compilation context for P4Tools that provides a custom compiler configuration  | 
|  CCompilerConfiguration |  | 
|  CCompilerResult |  | 
|  CCompilerTarget | Encapsulates the details of invoking the P4 compiler for a target device and architecture  | 
|  CConvertStructExpr |  | 
|  CConvertVarbits |  | 
|  CExtendedCallGraph |  | 
|  CFormatOptions | Defines common formatting options  | 
|  CHSIndexToMember | The main class for finding non-concrete header stack indices  | 
|  CInheritedCompilerOptionSpec |  | 
|  CMaskBuilder |  | 
|  CMidEnd |  | 
|  CModel |  | 
|  CNamespaceContext | Represents a stack of namespaces  | 
|  CP4Constants |  | 
|  CP4ProgramDCGCreator | The main class for building control flow DCG  | 
|  CReachabilityEngine |  | 
|  CReachabilityEngineState | The main data for reachability engine  | 
|  CSmithOptions |  | 
|  CSymbolicEnv |  | 
|  CTaint |  | 
|  CTaintPropagator |  | 
|  ►CTarget |  | 
|  CSpec | Specifies a target device and architecture by their names in lower case  | 
|  CTraceEvent | An event in a trace of the execution of a P4 program  | 
|  CUtils | General utility functions that are not present in the compiler framework  | 
|  CZ3Solver | A Z3-based implementation of AbstractSolver. Encapsulates a z3::solver and a z3::context  | 
|  CZ3SolverAccessor |  | 
|  CZ3Translator | Translates P4 expressions into Z3. Any variables encountered are declared to a Z3 instance  | 
|  ►NP4V1 |  | 
|  CActionProfile_Model |  | 
|  CActionSelector_Model |  | 
|  CAdjustLengths |  | 
|  CAlgorithm_Model |  | 
|  CCheckIfMultiEntryPoint |  | 
|  CCloner_Model |  | 
|  CCloneType_Model |  | 
|  CComputeCallGraph |  | 
|  CComputeTableCallGraph |  | 
|  CControl_Model |  | 
|  CConversionContext |  | 
|  CConverter |  | 
|  CCounter_Model |  | 
|  CCounterOrMeter_Model |  | 
|  CCounterType_Model |  | 
|  CDeparser_Model |  | 
|  CDetectDuplicates |  | 
|  CDigestReceiver_Model |  | 
|  CDirectCounter_Model |  | 
|  CDirectMeter_Model |  | 
|  CDiscoverStructure |  | 
|  CExpressionConverter |  | 
|  CExternConverter |  | 
|  CFindRecirculated |  | 
|  CFixExtracts |  | 
|  CFixMultiEntryPoint |  | 
|  CgetV1ModelVersion |  | 
|  CHash_Model |  | 
|  CInsertCompilerGeneratedStartState |  | 
|  CMeter_Model |  | 
|  CMeterType_Model |  | 
|  CMoveIntrinsicMetadata |  | 
|  CParser_Model |  | 
|  CPrimitiveConverter |  | 
|  CProgramStructure | Information about the structure of a P4-14 program, used to convert it to a P4-16 program  | 
|  CRandom_Model |  | 
|  CRegister_Model |  | 
|  CRewriter |  | 
|  CStandardMetadataType_Model |  | 
|  CStatementConverter |  | 
|  CSwitch_Model |  | 
|  CTableAttributes_Model |  | 
|  CTruncate |  | 
|  CTypeConverter |  | 
|  CV1Model |  | 
|  CVerifyUpdate_Model |  | 
|  ►NRTTI |  | 
|  ►NDetail |  | 
|  CIsType |  | 
|  CToType |  | 
|  ►Ndetail |  | 
|  CTypeIdResolver |  | 
|  CTypeIdResolver< T, std::void_t< decltype(T::static_typeId)> > |  | 
|  CTypeNameHolder |  | 
|  CBase |  | 
|  Cenable_if_has_rtti |  | 
|  Chas_rtti |  | 
|  CTypeInfo |  | 
|  ►Nstd | STL namespace  | 
|  Chash< ClosedRange< Unit, Order > > |  | 
|  Chash< cstring > |  | 
|  Chash< HalfOpenRange< Unit, Order > > |  | 
|  Chash< P4::loc_t > |  | 
|  Chash< P4::ProgramPoint > |  | 
|  Chash< std::pair< T1, T2 > > |  | 
|  Chash< std::tuple< Types... > > |  | 
|  ►NTC | This file defines functions for the pass to generate the introspection file  | 
|  CActionAttributes |  | 
|  CActionParam |  | 
|  CActionTranslationVisitorPNA |  | 
|  CAnnotation |  | 
|  CBackend |  | 
|  CControlBodyTranslatorPNA |  | 
|  ►CConvertToBackendIR |  | 
|  CExternBlock |  | 
|  CExternInstance |  | 
|  CConvertToEBPFControlPNA |  | 
|  CConvertToEBPFDeparserPNA |  | 
|  CConvertToEBPFParserPNA |  | 
|  CConvertToEbpfPipelineTC |  | 
|  CConvertToEbpfPNA |  | 
|  CCRC16ChecksumAlgorithmPNA |  | 
|  CCRC32ChecksumAlgorithmPNA |  | 
|  CCRCChecksumAlgorithmPNA |  | 
|  CDeparserHdrEmitTranslatorPNA |  | 
|  CEBPFChecksumPNA |  | 
|  CEBPFControlPNA |  | 
|  CEBPFCounterPNA |  | 
|  CEBPFHashAlgorithmTypeFactoryPNA |  | 
|  CEBPFInternetChecksumPNA |  | 
|  CEBPFPnaParser |  | 
|  CEBPFRegisterPNA |  | 
|  CEBPFTablePNA |  | 
|  CEBPFTablePNADirectCounterPropertyVisitor |  | 
|  CExtern |  | 
|  CExternAttributes |  | 
|  CExternInstancesAttributes |  | 
|  CIngressDeparserPNA |  | 
|  CInspectPnaProgram |  | 
|  CInternetChecksumAlgorithmPNA |  | 
|  CIntrospectionGenerator | This pass generates introspection JSON into user specified file  | 
|  CIntrospectionInfo |  | 
|  CKeyFieldAttributes |  | 
|  CMidEnd |  | 
|  CParsePnaArchitecture |  | 
|  CParseTCAnnotations |  | 
|  CPNAArchTC |  | 
|  CPNAEbpfGenerator |  | 
|  CPNAErrorCodesGen |  | 
|  CPnaProgramStructure |  | 
|  CPnaStateTranslationVisitor |  | 
|  CTableAttributes |  | 
|  CTCIngressPipelinePNA |  | 
|  CTCOptions |  | 
|  ►NTest |  | 
|  ►NArithmTest |  | 
|  CSaturationTransform | The main class for saturation transformation  | 
|  CZ3SolverAddSat01 |  | 
|  CZ3SolverAddSat02 |  | 
|  CZ3SolverAddSat03 |  | 
|  CZ3SolverAddSat04 |  | 
|  CZ3SolverAddSat05 |  | 
|  CZ3SolverSubSat01 |  | 
|  CZ3SolverSubSat02 |  | 
|  CZ3SolverSubSat03 |  | 
|  CZ3SolverSubSat04 |  | 
|  CZ3SolverSubSat05 |  | 
|  ►NZ3Test |  | 
|  CZ3SolverAdd |  | 
|  CZ3SolverBAnd |  | 
|  CZ3SolverBOR |  | 
|  CZ3SolverBXor |  | 
|  CZ3SolverCastBit2Bool |  | 
|  CZ3SolverCastBit2EqualBit |  | 
|  CZ3SolverCastBit2LargerBit |  | 
|  CZ3SolverCastBit2LessBit |  | 
|  CZ3SolverCastBool2Bit |  | 
|  CZ3SolverCastInAssignment |  | 
|  CZ3SolverComplement |  | 
|  CZ3SolverConc |  | 
|  CZ3SolverITE |  | 
|  CZ3SolverMod |  | 
|  CZ3SolverMult |  | 
|  CZ3SolverShl |  | 
|  CZ3SolverShrS |  | 
|  CZ3SolverShrU |  | 
|  CZ3SolverSub |  | 
|  CFormatTest | Helper methods to build configurations for Format Tests  | 
|  CNodeFinder |  | 
|  CP4AssertsParserTest |  | 
|  CP4CReachability |  | 
|  CP4ReachabilityOptions |  | 
|  CP4RuntimeApiTest | Helper methods to build configurations for P4RuntimeApi Tests  | 
|  CP4SmithForInLoopTest |  | 
|  CP4SmithForLoopTest |  | 
|  CP4TestOptions |  | 
|  CP4ToolsTest | GTest for P4 Tools tests  | 
|  CP4ToolsTestCase | Encapsulates functionality for running the front- and mid-ends of the compiler in a test  | 
|  CPTFTest | Helper methods to build configurations for PTF Tests  | 
|  CSmallStepTest |  | 
|  CSTFTest | Helper methods to build configurations for STF Tests  | 
|  CSymbolicConverter | Converts IR::Member into symbolic variables  | 
|  CTaintTest | Helper methods to build configurations for Taint Tests  | 
|  CZ3SolverSatisfiabilityChecks |  | 
|  CZ3SolverSatTests |  | 
|  CZ3SolverTest |  | 
|  CZ3SolverTests |  | 
|  ►NUBPF |  | 
|  CAlgorithm_Model |  | 
|  CEnumOn32Bits |  | 
|  CHash_Model |  | 
|  CMidEnd |  | 
|  COutHeaderSize |  | 
|  CPipeline_Model |  | 
|  CRegister_Model |  | 
|  CUBPFBoolType |  | 
|  CUbpfCodeBuilder |  | 
|  CUBPFControl |  | 
|  CUBPFControlBodyTranslator |  | 
|  CUBPFDeparser |  | 
|  CUBPFDeparserTranslationVisitor |  | 
|  CUBPFEnumType |  | 
|  CUBPFErrorType |  | 
|  CUBPFExternType |  | 
|  CUBPFListType |  | 
|  ►CUBPFModel |  | 
|  CgetUBPFModelVersion |  | 
|  CUBPFParser |  | 
|  CUBPFParserState |  | 
|  CUBPFProgram |  | 
|  CUBPFRegister |  | 
|  CUBPFScalarType |  | 
|  CUBPFStructType |  | 
|  CUBPFTable |  | 
|  CUBPFTableBase |  | 
|  CUbpfTarget |  | 
|  CUBPFTypeFactory |  | 
|  ►NUtil |  | 
|  ►NDetail |  | 
|  CFloatHasher |  | 
|  CIntegerHasher |  | 
|  CStdHasher |  | 
|  CTupleHasher |  | 
|  CTupleHasher< 0, Types... > |  | 
|  CAsEnumerator | Casts each element  | 
|  CBitRange |  | 
|  CComment |  | 
|  CCompilationError |  | 
|  CCompilerBug | This class indicates a bug in the compiler  | 
|  CCompilerUnimplemented | This class indicates an unimplemented feature in the compiler  | 
|  CConcatEnumerator | Concatenation  | 
|  CContainerType |  | 
|  CEmptyEnumerator | Always empty iterator (equivalent to end())  | 
|  CEnumerator | Type-erased Enumerator interface  | 
|  CEnumeratorHandle |  | 
|  CFilterEnumerator |  | 
|  Chas_toString | SFINAE helper to check if given class has a toString method  | 
|  Chas_toString< T, std::void_t< decltype(std::declval< T >().toString())> > |  | 
|  CHash |  | 
|  CHasher |  | 
|  CHasher< big_int > |  | 
|  CHasher< bool > |  | 
|  CHasher< char > |  | 
|  CHasher< ClosedRange< Unit, Order > > |  | 
|  CHasher< cstring > |  | 
|  CHasher< double > |  | 
|  CHasher< float > |  | 
|  CHasher< HalfOpenRange< Unit, Order > > |  | 
|  CHasher< IR::ID > |  | 
|  CHasher< P4::ProgramPoint > |  | 
|  CHasher< signed char > |  | 
|  CHasher< signed int > |  | 
|  CHasher< signed long > |  | 
|  CHasher< signed long long > |  | 
|  CHasher< signed short > |  | 
|  CHasher< std::pair< T1, T2 > > |  | 
|  CHasher< std::shared_ptr< T > > |  | 
|  CHasher< std::string > |  | 
|  CHasher< std::string_view > |  | 
|  CHasher< std::tuple< Types... > > |  | 
|  CHasher< std::unique_ptr< T > > |  | 
|  CHasher< T * > |  | 
|  CHasher< unsigned char > |  | 
|  CHasher< unsigned int > |  | 
|  CHasher< unsigned long > |  | 
|  CHasher< unsigned long long > |  | 
|  CHasher< unsigned short > |  | 
|  CIHasSourceInfo |  | 
|  CIJson |  | 
|  CInputSources |  | 
|  Citerator_range |  | 
|  CIteratorEnumerator | A generic iterator returning elements of type T  | 
|  CJsonArray |  | 
|  CJsonObject |  | 
|  CJsonValue |  | 
|  CMapEnumerator | Transforms all elements from type T to type S  | 
|  CNamedSymbol |  | 
|  CNamespace |  | 
|  CObject |  | 
|  ►COptions |  | 
|  COption |  | 
|  CP4CExceptionBase |  | 
|  CProgramStructure |  | 
|  CScopedTimer |  | 
|  CScopedTimerCtx |  | 
|  CSimpleType |  | 
|  CSingleEnumerator |  | 
|  CSourceCodeBuilder |  | 
|  CSourceFileLine |  | 
|  CSourceInfo |  | 
|  CSourcePosition |  | 
|  CTimerEntry |  | 
|  ►NV1 |  | 
|  CV1ParserDriver | A ParserDriver that can parse P4-14 programs  | 
|  CAbstractSolver | Provides a higher-level interface for an SMT solver  | 
|  Calloc_trace_cb_t |  | 
|  CAllocTrace |  | 
|  CAutoCompileContext |  | 
|  CAutoStdioInputStream |  | 
|  Cbacktrace_exception |  | 
|  ►CBacktrack |  | 
|  Ctrigger |  | 
|  CBaseCompileContext |  | 
|  Cbasic_nullbuf |  | 
|  Cbitranges |  | 
|  ►Cbitvec |  | 
|  Cconst_bitref |  | 
|  Ccopy_bitref |  | 
|  Cnonconst_bitref |  | 
|  Cbpf_elf_map |  | 
|  Cbpf_map |  | 
|  Cbpf_table | A helper structure used to describe attributes  | 
|  CCheckHeaderTypes |  | 
|  Cclone_session_entry |  | 
|  CClosedRange |  | 
|  CCompileContextStack |  | 
|  CCompilerOptions |  | 
|  ►CControlFlowVisitor |  | 
|  Cflow_join_info_t |  | 
|  CGuardGlobal | RAII class to ensure global key is only used in one place  | 
|  CSaveGlobal | RAII class to save and restore one or more global keys  | 
|  CSetupJoinPoints |  | 
|  Ccstring |  | 
|  CDefaultP4CConfiguration |  | 
|  Cdp_packet |  | 
|  CDpdkProgramStructure | Collect information related to P4 programs targeting dpdk  | 
|  CDump |  | 
|  CDynamicVisitor |  | 
|  CEbpfOptions |  | 
|  CErrorCatalog |  | 
|  CErrorMessage |  | 
|  CErrorReporter |  | 
|  CErrorType |  | 
|  CexprUses |  | 
|  CHalfOpenRange |  | 
|  Chas_dbprint |  | 
|  Chas_dbprint< T, std::void_t< decltype(std::declval< T >().dbprint(std::declval< std::ostream & >()))> > |  | 
|  ►Chash_vector_base |  | 
|  Cinternal |  | 
|  Clookup_cache |  | 
|  ChasSideEffects |  | 
|  ChdrFieldInfo |  | 
|  CHeaderTypeMaxLengthCalculator |  | 
|  Chex |  | 
|  Chexvec |  | 
|  Chvec_map |  | 
|  CICastable |  | 
|  CICompileContext |  | 
|  CIHasDbPrint |  | 
|  Cindent_t |  | 
|  CInlineControlFlow |  | 
|  CInspectDpdkProgram |  | 
|  CInspector |  | 
|  CIterKeys |  | 
|  CIterValues |  | 
|  CJsonBoolean |  | 
|  CJsonData |  | 
|  CJSONGenerator |  | 
|  CJSONLoader |  | 
|  CJsonNull |  | 
|  CJsonNumber |  | 
|  CJsonObject |  | 
|  CJsonString |  | 
|  CJsonVector |  | 
|  CLogAbbrev |  | 
|  CLTBitMatrix |  | 
|  CMapForKey |  | 
|  Cmatch_t |  | 
|  CModifier |  | 
|  Cn4 |  | 
|  CNameGateways |  | 
|  COnBacktrack |  | 
|  Conullstream |  | 
|  ►Cordered_map |  | 
|  Cvalue_compare |  | 
|  ►Cordered_set |  | 
|  Csorted_iterator |  | 
|  CP4CConfiguration |  | 
|  CP4CContext |  | 
|  CP4CContextWithOptions |  | 
|  Cp4tc_ext_bpf_params |  | 
|  Cp4tc_ext_bpf_val |  | 
|  Cp4tc_ext_csum_params |  | 
|  Cp4tc_table_entry_act_bpf_params__local |  | 
|  Cp4tc_table_entry_create_bpf_params__local |  | 
|  CP4TestOptions |  | 
|  CP4WriteContext |  | 
|  CParseDpdkArchitecture |  | 
|  CParserErrorMessage |  | 
|  CParserOptions |  | 
|  CPassIf |  | 
|  ►CPassManager |  | 
|  CVisitorRef |  | 
|  CPassRepeated |  | 
|  CPassRepeatUntil |  | 
|  ►CPattern |  | 
|  CMatch |  | 
|  CPauseTrace |  | 
|  Cpcap_pkt |  | 
|  Cpna_global_metadata |  | 
|  Cpna_main_input_metadata_t |  | 
|  Cpna_main_output_metadata_t |  | 
|  Cpna_main_parser_input_metadata_t |  | 
|  Cprimitive_info_t |  | 
|  Cpsa_egress_deparser_input_metadata_t |  | 
|  Cpsa_egress_input_metadata_t |  | 
|  Cpsa_egress_output_metadata_t |  | 
|  Cpsa_egress_parser_input_metadata_t |  | 
|  Cpsa_global_metadata |  | 
|  Cpsa_ingress_input_metadata_t |  | 
|  Cpsa_ingress_output_metadata_t |  | 
|  Cpsa_ingress_parser_input_metadata_t | INGRESS data types  | 
|  CPushContext |  | 
|  CRangeIter |  | 
|  CRefCheckContext |  | 
|  Csafe_vector |  | 
|  Csk_buff | Simple descriptor which replaces the kernel sk_buff structure  | 
|  CSplitFlowVisit |  | 
|  CSplitFlowVisit_base |  | 
|  CSplitFlowVisitVector |  | 
|  Cstring_map |  | 
|  ►CStringRef |  | 
|  CSplit |  | 
|  CSymBitMatrix |  | 
|  CSymbolicVarComp | Comparator to compare SymbolicVariable pointers  | 
|  CTransform |  | 
|  ►CTypeCheck |  | 
|  CAssignActionArgTypes |  | 
|  CAssignInitialTypes |  | 
|  CInferActionArgsBottomUp |  | 
|  CInferActionArgsTopDown |  | 
|  CInferExpressionsBottomUp | Bottom up type inferencing – set the types of expression nodes based on operands  | 
|  CInferExpressionsTopDown | Top down type inferencing – set the type of expression nodes based on their uses  | 
|  CMakeImplicitCastsExplicit |  | 
|  CUnparsedConstant |  | 
|  CUT_hash_bucket |  | 
|  CUT_hash_handle |  | 
|  CUT_hash_table |  | 
|  CVisitFunctor |  | 
|  ►CVisitor |  | 
|  CChangeTracker | Assists visitors in traversing the IR  | 
|  Cprofile_t |  | 
|  CTracker | Assists visitors in traversing the IR  | 
|  CVisitor_Context |  |