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

# Interface ICPPBase

All Superinterfaces:
  `Cloneable`

public interface ICPPBase extends Cloneable
Represents the relationship between a class and one of its base classes.

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
Modifier and Type
Field
Description
`static final ICPPBase[]`
`EMPTY_BASE_ARRAY`
`static final ICPPBase[]`
`NO_BASES_BECAUSE_TYPE_IS_INCOMPLETE`
`static final int`
`v_private`
`static final int`
`v_protected`
`static final int`
`v_public`

## Method Summary

Modifier and Type
Method
Description
`ICPPBase`
`clone()`
`IBinding`
`getBaseClass()`
The base class.
`IType`
`getBaseClassType()`
The base class.
`IName`
`getClassDefinitionName()`
Returns the name of the class definition that originally declares the base.
`int`
`getVisibility()`
The visibility qualifier applied to the base class.
`boolean`
`isInheritedConstructorsSource()`
The base class is a source of inherited constructors if the class definition that declares this base contains a using declaration naming the constructors of the base class.
`boolean`
`isVirtual()`
Whether this is a virtual base class.
`void`
`setBaseClass(IBinding baseClass)`
Used internally to change cloned bases.
`void`
`setBaseClass(IType baseClass)`
Used internally to change cloned bases.

## Field Details

### EMPTY_BASE_ARRAY

static final ICPPBase[] EMPTY_BASE_ARRAY

### NO_BASES_BECAUSE_TYPE_IS_INCOMPLETE

static final ICPPBase[] NO_BASES_BECAUSE_TYPE_IS_INCOMPLETE

Since:
  6.2

### v_private

static final int v_private

See Also:
  - Constant Field Values

### v_protected

static final int v_protected

See Also:
  - Constant Field Values

### v_public

static final int v_public

See Also:
  - Constant Field Values

## Method Details

### getBaseClass

IBinding getBaseClass()
The base class. Generally a ICPPClassType, but may be a ICPPTemplateParameter. In the case of typedefs, the target type will be returned instead of the typedef itself.

### getBaseClassType

IType getBaseClassType()
The base class. Generally a ICPPClassType, but may be an `ICPPUnknownType`. In the case of typedefs, the target type will be returned instead of the typedef itself.

Since:
  5.5

### getClassDefinitionName

IName getClassDefinitionName()
Returns the name of the class definition that originally declares the base.

Since:
  5.5

### getVisibility

int getVisibility()
The visibility qualifier applied to the base class.

### isVirtual

boolean isVirtual()
Whether this is a virtual base class.

### isInheritedConstructorsSource

boolean isInheritedConstructorsSource()
The base class is a source of inherited constructors if the class definition that declares this base contains a using declaration naming the constructors of the base class.

Since:
  5.7

### clone

ICPPBase clone()

Since:
  5.1

### setBaseClass

void setBaseClass(IBinding baseClass)
Used internally to change cloned bases.

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

### setBaseClass

void setBaseClass(IType baseClass)
Used internally to change cloned bases.

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