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

## Interface ICPPClassSpecialization

All Superinterfaces:
  `Cloneable`, `org.eclipse.core.runtime.IAdaptable`, `IBinding`, `ICompositeType`, `ICPPBinding`, `ICPPClassType`, `ICPPSpecialization`, `ICPPTypeSpecialization`, `IType`

All Known Subinterfaces:
  `ICPPClassTemplatePartialSpecializationSpecialization`

    public interface ICPPClassSpecialization
    extends ICPPTypeSpecialization, ICPPClassType

Specializations of all sorts of class types.

Since:
  5.1
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.IType

`EMPTY_TYPE_ARRAY, TYPE_MATCHER`

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`ICPPMethod[]` `getAllDeclaredMethods​(IASTNode point)` Deprecated. Use `ICPPClassType.getAllDeclaredMethods()` instead.
`ICPPBase[]` `getBases​(IASTNode point)` Deprecated. Use `ICPPClassType.getBases()` instead.
`ICPPConstructor[]` `getConstructors​(IASTNode point)` Deprecated. Use `ICPPClassType.getConstructors()` instead.
`ICPPField[]` `getDeclaredFields​(IASTNode point)` Deprecated. Use `ICPPClassType.getDeclaredFields()` instead.
`ICPPMethod[]` `getDeclaredMethods​(IASTNode point)` Deprecated. Use `ICPPClassType.getDeclaredMethods()` instead.
`IField[]` `getFields​(IASTNode point)` Deprecated. Use `ICPPClassType.getFields()` instead.
`IBinding[]` `getFriends​(IASTNode point)` Deprecated. Use `ICPPClassType.getFriends()` instead.
`ICPPMethod[]` `getMethods​(IASTNode point)` Deprecated. Use `ICPPClassType.getMethods()` instead.
`ICPPClassType[]` `getNestedClasses​(IASTNode point)` Deprecated. Use `ICPPClassType.getNestedClasses()` instead.
`ICPPClassType` `getSpecializedBinding()` Return the binding that this specialization specializes.
`ICPPUsingDeclaration[]` `getUsingDeclarations​(IASTNode point)` Deprecated. Use `ICPPClassType.getUsingDeclarations()` instead.
`IBinding` `specializeMember​(IBinding binding)` Creates a specialized binding for a member of the original class.
`IBinding` `specializeMember​(IBinding binding, IASTNode point)` Deprecated. Use `specializeMember(IBinding)` instead.

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

`getTemplateParameterMap`

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

`clone, isSameType`

### Method Detail

#### getSpecializedBinding

    ICPPClassType getSpecializedBinding()

Description copied from interface: `ICPPSpecialization`
Return the binding that this specialization specializes.

Specified by:
  `getSpecializedBinding` in interface `ICPPSpecialization`
Returns:
  the original binding that this is a specialization of

#### specializeMember

    IBinding specializeMember​(IBinding binding)

Creates a specialized binding for a member of the original class. The result is a member of this class specialization.

#### specializeMember

    @Deprecated
    IBinding specializeMember​(IBinding binding,
                              IASTNode point)

Deprecated.
Use `specializeMember(IBinding)` instead.

Since:
  5.5

#### getBases

    @Deprecated
    ICPPBase[] getBases​(IASTNode point)

Deprecated.
Use `ICPPClassType.getBases()` instead.

Since:
  5.5

#### getConstructors

    @Deprecated
    ICPPConstructor[] getConstructors​(IASTNode point)

Deprecated.
Use `ICPPClassType.getConstructors()` instead.

Since:
  5.5

#### getDeclaredFields

    @Deprecated
    ICPPField[] getDeclaredFields​(IASTNode point)

Deprecated.
Use `ICPPClassType.getDeclaredFields()` instead.

Since:
  5.5

#### getMethods

    @Deprecated
    ICPPMethod[] getMethods​(IASTNode point)

Deprecated.
Use `ICPPClassType.getMethods()` instead.

Since:
  5.5

#### getAllDeclaredMethods

    @Deprecated
    ICPPMethod[] getAllDeclaredMethods​(IASTNode point)

Deprecated.
Use `ICPPClassType.getAllDeclaredMethods()` instead.

Since:
  5.5

#### getDeclaredMethods

    @Deprecated
    ICPPMethod[] getDeclaredMethods​(IASTNode point)

Deprecated.
Use `ICPPClassType.getDeclaredMethods()` instead.

Since:
  5.5

#### getFriends

    @Deprecated
    IBinding[] getFriends​(IASTNode point)

Deprecated.
Use `ICPPClassType.getFriends()` instead.

Since:
  5.5

#### getFields

    @Deprecated
    IField[] getFields​(IASTNode point)

Deprecated.
Use `ICPPClassType.getFields()` instead.

Since:
  5.5

#### getNestedClasses

    @Deprecated
    ICPPClassType[] getNestedClasses​(IASTNode point)

Deprecated.
Use `ICPPClassType.getNestedClasses()` instead.

Since:
  5.5

#### getUsingDeclarations

    @Deprecated
    ICPPUsingDeclaration[] getUsingDeclarations​(IASTNode point)

Deprecated.
Use `ICPPClassType.getUsingDeclarations()` instead.

Since:
  6.3