org.eclipse.cdt.core.dom.ast.cpp

## Interface ICPPTemplateInstance

All Superinterfaces:
  org.eclipse.core.runtime.IAdaptable, IBinding, ICPPBinding, ICPPSpecialization

All Known Subinterfaces:
  ICPPAliasTemplateInstance, ICPPDeferredTemplateInstance, ICPPFunctionInstance, ICPPVariableInstance

    public interface ICPPTemplateInstance
    extends ICPPSpecialization

This interface represents an instantiation or an explicit specialization of a class or a function template. The `isExplicitSpecialization()` method is used to distinguish between the two cases. An instance of a class template will also implement ICPPClassType and similarly a function template instance will also implement ICPPFunction (or even ICPPMethod or ICPPConstructor as appropriate).

Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Field Summary

Fields
`static ICPPTemplateInstance[]` `EMPTY_TEMPLATE_INSTANCE_ARRAY`

### Fields inherited from interface org.eclipse.cdt.core.dom.ast.IBinding

`EMPTY_BINDING_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`ICPPTemplateArgument[]` `getTemplateArguments()` Returns the template arguments of this instance.
`ICPPTemplateDefinition` `getTemplateDefinition()` Returns the template that this instance was instantiated from.
`boolean` `isExplicitSpecialization()` Explicit specializations are modeled as instances of a template.

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization

`getSpecializedBinding, getTemplateParameterMap`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.cpp.ICPPBinding

`getQualifiedName, getQualifiedNameCharArray, isGloballyQualified`

### Methods inherited from interface org.eclipse.cdt.core.dom.ast.IBinding

`getLinkage, getName, getNameCharArray, getOwner, getScope`

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Field Detail

#### EMPTY_TEMPLATE_INSTANCE_ARRAY

    static final ICPPTemplateInstance[] EMPTY_TEMPLATE_INSTANCE_ARRAY

Since:
  5.1

### Method Detail

#### getTemplateDefinition

    ICPPTemplateDefinition getTemplateDefinition()

Returns the template that this instance was instantiated from.

#### getTemplateArguments

    ICPPTemplateArgument[] getTemplateArguments()

Returns the template arguments of this instance.

Since:
  5.1

#### isExplicitSpecialization

    boolean isExplicitSpecialization()

Explicit specializations are modeled as instances of a template. Returns `true` if this binding is an explicit specialization.

Since:
  5.2