Skip to content

SageBuilder::buildClassTemplateType

Some support for building class template instantiation declarations. Note, the template is not actually instantiated, but a `forward declaration' node is created.

Synopsis

Declared in <SageIII/sageInterface/sageBuilder.h>

[[visibility]]
SgClassType*
buildClassTemplateType(
    SgTemplateClassDeclaration* template_decl,
    std::vector<SgNode*>& template_args);

Return Value

a class type for the instantiated template (e.g., matrix<float>)

Parameters

Name

Description

template_decl

the template class declaration (e.g., template <class T> struct matrix {};)

template_args

the arguments of the template instantiation. (e.g., [SgTypeFloat]). WARNING: the objects in this list will be linked into the template declaration and their parent pointer may change. Thus it is the caller's responsibility to clone nodes if used elsewhere. e.g., SomeClass<0> <‐ the expression representing 0 may be modified.

Created with MrDocs