// Generated by astgen // -*- mode: C++; c-file-style: "cc-mode" -*-
// For internal use. They assume argument is not nullptr.
template<> inline bool DfgVertex::privateTypeTest<DfgAdd>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Add; }
template<> inline bool DfgVertex::privateTypeTest<DfgAnd>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::And; }
template<> inline bool DfgVertex::privateTypeTest<DfgArraySel>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ArraySel; }
template<> inline bool DfgVertex::privateTypeTest<DfgAstRd>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::AstRd; }
template<> inline bool DfgVertex::privateTypeTest<DfgCReset>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::CReset; }
template<> inline bool DfgVertex::privateTypeTest<DfgConcat>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Concat; }
template<> inline bool DfgVertex::privateTypeTest<DfgCond>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Cond; }
template<> inline bool DfgVertex::privateTypeTest<DfgConst>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Const; }
template<> inline bool DfgVertex::privateTypeTest<DfgCountOnes>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::CountOnes; }
template<> inline bool DfgVertex::privateTypeTest<DfgDiv>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Div; }
template<> inline bool DfgVertex::privateTypeTest<DfgDivS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::DivS; }
template<> inline bool DfgVertex::privateTypeTest<DfgEq>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Eq; }
template<> inline bool DfgVertex::privateTypeTest<DfgEqCase>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::EqCase; }
template<> inline bool DfgVertex::privateTypeTest<DfgEqWild>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::EqWild; }
template<> inline bool DfgVertex::privateTypeTest<DfgExtend>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Extend; }
template<> inline bool DfgVertex::privateTypeTest<DfgExtendS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ExtendS; }
template<> inline bool DfgVertex::privateTypeTest<DfgGt>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Gt; }
template<> inline bool DfgVertex::privateTypeTest<DfgGtS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::GtS; }
template<> inline bool DfgVertex::privateTypeTest<DfgGte>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Gte; }
template<> inline bool DfgVertex::privateTypeTest<DfgGteS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::GteS; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogAnd>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LogAnd; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogEq>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LogEq; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogIf>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LogIf; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogNot>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LogNot; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogOr>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LogOr; }
template<> inline bool DfgVertex::privateTypeTest<DfgLogic>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Logic; }
template<> inline bool DfgVertex::privateTypeTest<DfgLt>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Lt; }
template<> inline bool DfgVertex::privateTypeTest<DfgLtS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LtS; }
template<> inline bool DfgVertex::privateTypeTest<DfgLte>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Lte; }
template<> inline bool DfgVertex::privateTypeTest<DfgLteS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::LteS; }
template<> inline bool DfgVertex::privateTypeTest<DfgMatchMasked>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::MatchMasked; }
template<> inline bool DfgVertex::privateTypeTest<DfgModDiv>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ModDiv; }
template<> inline bool DfgVertex::privateTypeTest<DfgModDivS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ModDivS; }
template<> inline bool DfgVertex::privateTypeTest<DfgMul>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Mul; }
template<> inline bool DfgVertex::privateTypeTest<DfgMulS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::MulS; }
template<> inline bool DfgVertex::privateTypeTest<DfgMux>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Mux; }
template<> inline bool DfgVertex::privateTypeTest<DfgNegate>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Negate; }
template<> inline bool DfgVertex::privateTypeTest<DfgNeq>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Neq; }
template<> inline bool DfgVertex::privateTypeTest<DfgNeqCase>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::NeqCase; }
template<> inline bool DfgVertex::privateTypeTest<DfgNeqWild>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::NeqWild; }
template<> inline bool DfgVertex::privateTypeTest<DfgNot>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Not; }
template<> inline bool DfgVertex::privateTypeTest<DfgOneHot>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::OneHot; }
template<> inline bool DfgVertex::privateTypeTest<DfgOneHot0>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::OneHot0; }
template<> inline bool DfgVertex::privateTypeTest<DfgOr>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Or; }
template<> inline bool DfgVertex::privateTypeTest<DfgPow>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Pow; }
template<> inline bool DfgVertex::privateTypeTest<DfgPowSS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::PowSS; }
template<> inline bool DfgVertex::privateTypeTest<DfgPowSU>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::PowSU; }
template<> inline bool DfgVertex::privateTypeTest<DfgPowUS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::PowUS; }
template<> inline bool DfgVertex::privateTypeTest<DfgRedAnd>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::RedAnd; }
template<> inline bool DfgVertex::privateTypeTest<DfgRedOr>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::RedOr; }
template<> inline bool DfgVertex::privateTypeTest<DfgRedXor>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::RedXor; }
template<> inline bool DfgVertex::privateTypeTest<DfgRep>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Rep; }
template<> inline bool DfgVertex::privateTypeTest<DfgSel>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Sel; }
template<> inline bool DfgVertex::privateTypeTest<DfgShiftL>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ShiftL; }
template<> inline bool DfgVertex::privateTypeTest<DfgShiftR>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ShiftR; }
template<> inline bool DfgVertex::privateTypeTest<DfgShiftRS>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::ShiftRS; }
template<> inline bool DfgVertex::privateTypeTest<DfgSpliceArray>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::SpliceArray; }
template<> inline bool DfgVertex::privateTypeTest<DfgSplicePacked>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::SplicePacked; }
template<> inline bool DfgVertex::privateTypeTest<DfgStreamL>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::StreamL; }
template<> inline bool DfgVertex::privateTypeTest<DfgStreamR>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::StreamR; }
template<> inline bool DfgVertex::privateTypeTest<DfgSub>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Sub; }
template<> inline bool DfgVertex::privateTypeTest<DfgUnitArray>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::UnitArray; }
template<> inline bool DfgVertex::privateTypeTest<DfgUnresolved>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Unresolved; }
template<> inline bool DfgVertex::privateTypeTest<DfgVarArray>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::VarArray; }
template<> inline bool DfgVertex::privateTypeTest<DfgVarPacked>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::VarPacked; }
template<> inline bool DfgVertex::privateTypeTest<DfgVertex>(const DfgVertex* vtxp) { return true; }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexAst>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexAst) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexAst); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexBinary>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexBinary) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexBinary); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexNullary>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexNullary) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexNullary); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexSplice>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexSplice) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexSplice); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexTernary>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexTernary) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexTernary); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexUnary>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexUnary) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexUnary); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexVar>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexVar) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexVar); }
template<> inline bool DfgVertex::privateTypeTest<DfgVertexVariadic>(const DfgVertex* vtxp) { return static_cast<int>(vtxp->type()) >= static_cast<int>(VDfgType::firstVertexVariadic) && static_cast<int>(vtxp->type()) <= static_cast<int>(VDfgType::lastVertexVariadic); }
template<> inline bool DfgVertex::privateTypeTest<DfgXor>(const DfgVertex* vtxp) { return vtxp->type() == VDfgType::Xor; }
