clang 10.0.0git

Public Member Functions | Public Attributes | Friends | List of all members
clang::UniqueVirtualMethod Struct Reference

Uniquely identifies a virtual method within a class hierarchy by the method itself and a class subobject number. More...

`#include "clang/AST/CXXInheritance.h"`

Collaboration diagram for clang::UniqueVirtualMethod:
[legend]

## Public Member Functions
| UniqueVirtualMethod ()=default
| UniqueVirtualMethod (CXXMethodDecl *Method, unsigned Subobject, const CXXRecordDecl *InVirtualSubobject)

## Public Attributes
CXXMethodDecl * | Method = nullptr
| The overriding virtual method. More...
unsigned | Subobject = 0
| The subobject in which the overriding virtual method resides. More...
const CXXRecordDecl * | InVirtualSubobject = nullptr
| The virtual base class subobject of which this overridden virtual method is a part. More...

## Friends
bool | operator== (const UniqueVirtualMethod &X, const UniqueVirtualMethod &Y)
bool | operator!= (const UniqueVirtualMethod &X, const UniqueVirtualMethod &Y)

## Detailed Description

Uniquely identifies a virtual method within a class hierarchy by the method itself and a class subobject number.

Definition at line 241 of file CXXInheritance.h.

## Constructor & Destructor Documentation

## ◆ UniqueVirtualMethod() [1/2]

clang::UniqueVirtualMethod::UniqueVirtualMethod | ( |  | ) |
| default

## ◆ UniqueVirtualMethod() [2/2]

clang::UniqueVirtualMethod::UniqueVirtualMethod | ( | CXXMethodDecl * | Method,
|  | unsigned | Subobject,
|  | const CXXRecordDecl * | InVirtualSubobject
| ) |  |
| inline

Definition at line 256 of file CXXInheritance.h.

## Friends And Related Function Documentation

## ◆ operator!=

bool operator!= | ( | const UniqueVirtualMethod & | X,
|  | const UniqueVirtualMethod & | Y
| ) |  |
| friend

Definition at line 267 of file CXXInheritance.h.

## ◆ operator==

bool operator== | ( | const UniqueVirtualMethod & | X,
|  | const UniqueVirtualMethod & | Y
| ) |  |
| friend

Definition at line 261 of file CXXInheritance.h.

## Member Data Documentation

## ◆ InVirtualSubobject

const CXXRecordDecl* clang::UniqueVirtualMethod::InVirtualSubobject = nullptr

The virtual base class subobject of which this overridden virtual method is a part.

Note that this records the closest derived virtual base class subobject.

Definition at line 252 of file CXXInheritance.h.

## ◆ Method

CXXMethodDecl* clang::UniqueVirtualMethod::Method = nullptr

The overriding virtual method.

Definition at line 243 of file CXXInheritance.h.

## ◆ Subobject

unsigned clang::UniqueVirtualMethod::Subobject = 0

The subobject in which the overriding virtual method resides.

Definition at line 247 of file CXXInheritance.h.

The documentation for this struct was generated from the following file:

- include/clang/AST/CXXInheritance.h