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

## Interface ICPPClassSpecialization

All Superinterfaces:
  Cloneable, 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

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

### Method Summary

All Methods Instance Methods Abstract Methods Deprecated Methods
`ICPPMethod[]` `getAllDeclaredMethods(IASTNode point)` Similar to `ICPPClassType.getAllDeclaredMethods()` but a accepts a starting point for template instantiation.
`ICPPBase[]` `getBases(IASTNode point)` Similar to `ICPPClassType.getBases()` but a accepts a starting point for template instantiation.
`ICPPConstructor[]` `getConstructors(IASTNode point)` Similar to `ICPPClassType.getConstructors()` but a accepts a starting point for template instantiation.
`ICPPField[]` `getDeclaredFields(IASTNode point)` Similar to `ICPPClassType.getDeclaredFields()` but a accepts a starting point for template instantiation.
`ICPPMethod[]` `getDeclaredMethods(IASTNode point)` Similar to `ICPPClassType.getDeclaredMethods()` but a accepts a starting point for template instantiation.
`IField[]` `getFields(IASTNode point)` Similar to `ICPPClassType.getFields()` but a accepts a starting point for template instantiation.
`IBinding[]` `getFriends(IASTNode point)` Similar to `ICPPClassType.getFriends()` but a accepts a starting point for template instantiation.
`ICPPMethod[]` `getMethods(IASTNode point)` Similar to `ICPPClassType.getMethods()` but a accepts a starting point for template instantiation.
`ICPPClassType[]` `getNestedClasses(IASTNode point)` Similar to `ICPPClassType.getNestedClasses()` but a accepts a starting point for template instantiation.
`ICPPClassType` `getSpecializedBinding()` Return the binding that this specialization specializes.
`ICPPUsingDeclaration[]` `getUsingDeclarations(IASTNode point)` Similar to `ICPPClassType.getUsingDeclarations()` but accepts a starting point for template instantiation.
`IBinding` `specializeMember(IBinding binding)` Deprecated. Specializing a member may require a point of instantiation.
`IBinding` `specializeMember(IBinding binding, IASTNode point)` Creates a specialized binding for a member of the original class.

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

`getTemplateParameterMap`

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

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

    @Deprecated
    IBinding specializeMember(IBinding binding)

Deprecated. Specializing a member may require a point of instantiation.

#### specializeMember

    IBinding specializeMember(IBinding binding,
                              IASTNode point)

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

Since:
  5.5

#### getBases

    ICPPBase[] getBases(IASTNode point)

Similar to `ICPPClassType.getBases()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getConstructors

    ICPPConstructor[] getConstructors(IASTNode point)

Similar to `ICPPClassType.getConstructors()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getDeclaredFields

    ICPPField[] getDeclaredFields(IASTNode point)

Similar to `ICPPClassType.getDeclaredFields()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getMethods

    ICPPMethod[] getMethods(IASTNode point)

Similar to `ICPPClassType.getMethods()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getAllDeclaredMethods

    ICPPMethod[] getAllDeclaredMethods(IASTNode point)

Similar to `ICPPClassType.getAllDeclaredMethods()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getDeclaredMethods

    ICPPMethod[] getDeclaredMethods(IASTNode point)

Similar to `ICPPClassType.getDeclaredMethods()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getFriends

    IBinding[] getFriends(IASTNode point)

Similar to `ICPPClassType.getFriends()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getFields

    IField[] getFields(IASTNode point)

Similar to `ICPPClassType.getFields()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getNestedClasses

    ICPPClassType[] getNestedClasses(IASTNode point)

Similar to `ICPPClassType.getNestedClasses()` but a accepts a starting point for template instantiation.

Since:
  5.5

#### getUsingDeclarations

    ICPPUsingDeclaration[] getUsingDeclarations(IASTNode point)

Similar to `ICPPClassType.getUsingDeclarations()` but accepts a starting point for template instantiation.

Since:
  6.3