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

# Interface ICPPTemplateTemplateParameter

All Superinterfaces:
  `Cloneable`, `org.eclipse.core.runtime.IAdaptable`, `IBinding`, `ICompositeType`, `ICPPBinding`, `ICPPClassTemplate`, `ICPPClassType`, `ICPPPartiallySpecializable`, `ICPPTemplateDefinition`, `ICPPTemplateParameter`, `IType`

public interface ICPPTemplateTemplateParameter extends ICPPTemplateParameter, ICPPClassTemplate
Template parameters of type template.

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 inherited from interface org.eclipse.cdt.core.dom.ast.IBinding

`EMPTY_BINDING_ARRAY`

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

`k_struct, k_union`

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

`EMPTY_CLASS_ARRAY, k_class, v_private, v_protected, v_public`

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

`EMPTY_TEMPLATE_PARAMETER_ARRAY`

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

`EMPTY_TYPE_ARRAY, TYPE_MATCHER`

## Method Summary

Modifier and Type
Method
Description
`IType`
`getDefault()`
Returns the default value for this parameter, or `null`.
`ICPPClassTemplatePartialSpecialization[]`
`getPartialSpecializations()`
Returns the partial specializations of this class template.
`boolean`
`isSameType(IType type)`
Types containing template parameters need to be compared even before it is known to which binding the template parameter belongs to.

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

`getAdapter`

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

`getLinkage, getName, getNameCharArray, getOwner, getScope`

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

`getCompositeScope, getKey, isAnonymous`

### 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.cpp.ICPPClassTemplate

`asDeferredInstance`

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

`findField, getAllDeclaredMethods, getBases, getConstructors, getDeclaredFields, getDeclaredMethods, getFields, getFriends, getMethods, getNestedClasses, getUsingDeclarations, getVisibility, isFinal, isNoDiscard`

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

`getTemplateParameters`

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

`getDefaultValue, getParameterID, getParameterPosition, getTemplateNestingLevel, isParameterPack`

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

`clone`

## Method Details

### getDefault

IType getDefault() throws DOMException
Returns the default value for this parameter, or `null`.

Throws:
  `DOMException`

### isSameType

boolean isSameType(IType type)
Types containing template parameters need to be compared even before it is known to which binding the template parameter belongs to. Therefore `isSameType(IType)` compares the kind and the parameter position of the template parameter, only. The name and the owner is ignored.

Specified by:
  `isSameType` in interface `IType`
Parameters:
  `type` - can be `null`.
Since:
  5.1

### getPartialSpecializations

ICPPClassTemplatePartialSpecialization[] getPartialSpecializations()
Description copied from interface: `ICPPClassTemplate`
Returns the partial specializations of this class template.

Specified by:
  `getPartialSpecializations` in interface `ICPPClassTemplate`
Specified by:
  `getPartialSpecializations` in interface `ICPPPartiallySpecializable`