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

# Interface ICPPMethod

All Superinterfaces:
  `org.eclipse.core.runtime.IAdaptable`, `IBinding`, `ICPPBinding`, `ICPPFunction`, `ICPPMember`, `IFunction`

All Known Subinterfaces:
  `ICPPConstructor`, `ICPPConstructorSpecialization`, `ICPPMethodSpecialization`

public interface ICPPMethod extends ICPPFunction, ICPPMember
Base interface for methods, also used for constructors.

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 ICPPMethod[]`
`EMPTY_CPPMETHOD_ARRAY`

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

`v_private, v_protected, v_public`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`isDestructor()`
Is this a destructor? Returns true if its name starts with '~'
`boolean`
`isExplicit()`
Returns whether this is an explicit constructor or an explicit conversion operator.
`boolean`
`isFinal()`
Returns whether this method is declared final.
`boolean`
`isImplicit()`
Returns whether this is an implicit method (constructor, assignment operator, etc.)
`boolean`
`isOverride()`
Returns whether this method is declared override.
`boolean`
`isPureVirtual()`
Returns whether this is a pure abstract method
`boolean`
`isVirtual()`
Returns whether this method is declared to be virtual.

### 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.cpp.ICPPBinding

`getQualifiedName, getQualifiedNameCharArray, isGloballyQualified`

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

`getDeclaredType, getExceptionSpecification, getParameters, getRequiredArgumentCount, getType, hasParameterPack, isConstexpr, isDeleted, isExternC, isInline, isMutable`

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

`getClassOwner, getType, getVisibility, isStatic`

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

`getFunctionScope, isAuto, isExtern, isNoDiscard, isNoReturn, isRegister, isStatic, takesVarArgs`

## Field Details

### EMPTY_CPPMETHOD_ARRAY

static final ICPPMethod[] EMPTY_CPPMETHOD_ARRAY

## Method Details

### isVirtual

boolean isVirtual()
Returns whether this method is declared to be virtual. Does not detect whether the method is virtual because of overriding a virtual method from a base class.

### isDestructor

boolean isDestructor()
Is this a destructor? Returns true if its name starts with '~'

### isImplicit

boolean isImplicit()
Returns whether this is an implicit method (constructor, assignment operator, etc.)

Since:
  4.0

### isExplicit

boolean isExplicit()
Returns whether this is an explicit constructor or an explicit conversion operator.

Since:
  5.3

### isPureVirtual

boolean isPureVirtual()
Returns whether this is a pure abstract method

Since:
  5.1

### isOverride

boolean isOverride()
Returns whether this method is declared override.

Since:
  5.5

### isFinal

boolean isFinal()
Returns whether this method is declared final.

Since:
  5.5