Example #1
0
        public static CppSharp.Parser.AST.Template GetRealTemplate(this CppSharp.Parser.AST.Template template)
        {
            switch (template.Kind)
            {
            case DeclarationKind.TemplateTemplateParm:
                return(TemplateTemplateParameter.__CreateInstance(template.__Instance));

            case DeclarationKind.TypeAliasTemplate:
                return(TypeAliasTemplate.__CreateInstance(template.__Instance));

            case DeclarationKind.ClassTemplate:
                return(ClassTemplate.__CreateInstance(template.__Instance));

            case DeclarationKind.FunctionTemplate:
                return(FunctionTemplate.__CreateInstance(template.__Instance));

            case DeclarationKind.VarTemplate:
                return(VarTemplate.__CreateInstance(template.__Instance));

            default:
                Debugger.Break();
                return(null);
            }
        }