From fcfbafff31869ed808bff0639532db1828660e92 Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Thu, 29 Dec 2022 12:32:55 +0000 Subject: dump lots more code --- includes/compiler/CTemplateFunc.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'includes/compiler/CTemplateFunc.h') diff --git a/includes/compiler/CTemplateFunc.h b/includes/compiler/CTemplateFunc.h index 1461ee4..bf84460 100644 --- a/includes/compiler/CTemplateFunc.h +++ b/includes/compiler/CTemplateFunc.h @@ -2,5 +2,18 @@ #define COMPILER_CTEMPLATEFUNC_H #include "compiler/common.h" +#include "compiler/CExpr.h" + +extern Boolean CTempl_CanDeduceFunc(Object *object, TypeFunc *tfunc, TemplArg *args); +extern TemplFuncInstance *CTempl_CheckFuncInstance(Object *object1, TypeFunc *tfunc, TemplArg *args, Object *object2); +extern TemplFuncInstance *CTempl_DeduceFunc(Object *object1, TypeFunc *tfunc, TemplArg *args, Object *object2, Boolean flag); +extern Boolean CTempl_FuncIsMoreSpecialized(Object *object1, Object *object2); +extern Object *CTempl_PartialOrdering(Object *object, ObjectList *list, int count); +extern int CTempl_GetTemplateArgumentExpressionIndex(TemplArg *arg); +extern Boolean CTempl_DeduceType(Type *type1, UInt32 qual1, Type *type2, UInt32 qual2, TemplArg *argArray, Boolean flag1, Boolean flag2); +extern void CTempl_FuncMatch(NameSpaceObjectList *list, TemplArg *args, ENodeList *argexprs, Match13 *match13ptr, ENode *expr); +extern Object *CTempl_DeduceFromFunctionCall(Object *funcobj, TemplArg *templargs, ENodeList *argexprs); +extern Object *CTempl_DeduceFromConversion(Object *funcobj, Type *type, UInt32 qual); +extern Object *CTempl_TemplateFunctionCheck(DeclInfo *di, NameSpaceObjectList *nsol); #endif -- cgit v1.2.3