Package org.eclipse.cdt.core.model

# Interface ITemplate

All Known Subinterfaces:
  `IConcept`, `IFunctionTemplate`, `IFunctionTemplateDeclaration`, `IMethodTemplate`, `IMethodTemplateDeclaration`, `IStructureTemplate`, `IStructureTemplateDeclaration`

public interface ITemplate
The interface is used to model, class or function templates and their partial or explicit specializations.

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

## Method Summary

Modifier and Type
Method
Description
`int`
`getNumberOfTemplateParameters()`
Returns the number of template parameters
`String[]`
`getTemplateArguments()`
Returns the template arguments in a printable format.
`String[]`
`getTemplateParameterTypes()`
Returns the template parameter types.
`String`
`getTemplateSignature()`
Returns the template signature The signature depends on the type of template.

## Method Details

### getTemplateParameterTypes

String[] getTemplateParameterTypes()
Returns the template parameter types.

Returns:
  String

### getTemplateArguments

String[] getTemplateArguments()
Returns the template arguments in a printable format. For templates that are no specialization, this will return the names of the template parameters.

Since:
  5.2

### getTemplateSignature

String getTemplateSignature() throws CModelException
Returns the template signature The signature depends on the type of template. If it is a template of a structure or a variable, it will include the structure name and the list of parameters. If it is a template of a method or a function, it might include the class name with its template parameters (if any), as well as the function/method name, its template parameters, followed by its normal parameters.

Returns:
  String
Throws:
  `CModelException`

### getNumberOfTemplateParameters

int getNumberOfTemplateParameters()
Returns the number of template parameters