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

## Interface ICPPBase

All Superinterfaces:
  java.lang.Cloneable

    public interface ICPPBase
    extends java.lang.Cloneable

Represents the relationship between a class and one of its base classes.

### Field Summary

Fields
`static ICPPBase[]` `EMPTY_BASE_ARRAY`
`static ICPPBase[]` `NO_BASES_BECAUSE_TYPE_IS_INCOMPLETE`
`static int` `v_private`
`static int` `v_protected`
`static int` `v_public`

### Method Summary

All Methods Instance Methods Abstract Methods
`ICPPBase` `clone()`
`IBinding` `getBaseClass()` The base class.
`IType` `getBaseClassType()` The base class.
`org.eclipse.cdt.core.dom.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 Detail

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

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

    org.eclipse.cdt.core.dom.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.

#### setBaseClass

    void setBaseClass(IType baseClass)

Used internally to change cloned bases.