org.eclipse.cdt.core.model

## Interface ITemplate

All Known Subinterfaces:
  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

All Methods Instance Methods Abstract Methods
`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 Detail

#### 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