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

## Interface ICPPClassTemplatePartialSpecialization

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

All Known Subinterfaces:
  ICPPClassTemplatePartialSpecializationSpecialization

    public interface ICPPClassTemplatePartialSpecialization
    extends ICPPClassTemplate, ICPPPartialSpecialization

This interface represents a class template partial specialization. A partial specialization is a class template in its own right. E.g.: template <class T> class A {}; // the primary class template template <class T> class A<T*> {}; // a partial specialization of the primary class 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
`static ICPPClassTemplatePartialSpecialization[]` `EMPTY_ARRAY`
`static ICPPClassTemplatePartialSpecialization[]` `EMPTY_PARTIAL_SPECIALIZATION_ARRAY` Deprecated. Use `EMPTY_ARRAY`

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

`k_struct, k_union`

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

`EMPTY_TYPE_ARRAY, TYPE_MATCHER`

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

`EMPTY_BINDING_ARRAY`

### Method Summary

All Methods Instance Methods Abstract Methods
`ICPPClassTemplate` `getPrimaryClassTemplate()` Returns the ICPPTemplateDefinition which this is a specialization of.
`ICPPTemplateArgument[]` `getTemplateArguments()` Returns the arguments of this partial specialization.

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

`asDeferredInstance, getPartialSpecializations`

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

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

`getCompositeScope, getKey, isAnonymous`

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

`clone, isSameType`

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

`getTemplateParameters`

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

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

`getPrimaryTemplate`

### Field Detail

#### EMPTY_ARRAY

    static final ICPPClassTemplatePartialSpecialization[] EMPTY_ARRAY

Since:
  6.0

#### EMPTY_PARTIAL_SPECIALIZATION_ARRAY

    @Deprecated
    static final ICPPClassTemplatePartialSpecialization[] EMPTY_PARTIAL_SPECIALIZATION_ARRAY

Deprecated. Use `EMPTY_ARRAY`

Restriction:
  This field is not intended to be referenced by clients.

### Method Detail

#### getPrimaryClassTemplate

    ICPPClassTemplate getPrimaryClassTemplate()

Returns the ICPPTemplateDefinition which this is a specialization of.

#### getTemplateArguments

    ICPPTemplateArgument[] getTemplateArguments()

Returns the arguments of this partial specialization.

Specified by:
  `getTemplateArguments` in interface `ICPPPartialSpecialization`
Since:
  5.1