Lines Matching refs:Derived
36 template <class Derived> struct StructVisitor {
71 Derived &asDerived() { return static_cast<Derived &>(*this); } in asDerived()
77 template <class Derived, bool IsMove>
78 struct CopyStructVisitor : StructVisitor<Derived>,
79 CopiedTypeVisitor<Derived, IsMove> {
80 using StructVisitor<Derived>::asDerived;
81 using Super = CopiedTypeVisitor<Derived, IsMove>;
83 CopyStructVisitor(ASTContext &Ctx) : StructVisitor<Derived>(Ctx) {} in CopyStructVisitor()
150 template <class Derived> struct GenFuncNameBase {
213 Derived &asDerived() { return static_cast<Derived &>(*this); } in asDerived()
218 template <class Derived>
219 struct GenUnaryFuncName : StructVisitor<Derived>, GenFuncNameBase<Derived> {
221 : StructVisitor<Derived>(Ctx) { in GenUnaryFuncName()
335 template <class Derived> struct GenFuncBase {
499 Derived &asDerived() { return static_cast<Derived &>(*this); } in asDerived()
506 template <class Derived, bool IsMove>
507 struct GenBinaryFunc : CopyStructVisitor<Derived, IsMove>,
508 GenFuncBase<Derived> {
509 GenBinaryFunc(ASTContext &Ctx) : CopyStructVisitor<Derived, IsMove>(Ctx) {} in GenBinaryFunc()