clang 22.0.0git
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"

Public Member Functions

 UniqueVirtualMethod ()=default
 UniqueVirtualMethod (CXXMethodDecl *Method, unsigned Subobject, const CXXRecordDecl *InVirtualSubobject)

Public Attributes

CXXMethodDeclMethod = nullptr
 The overriding virtual method.
unsigned Subobject = 0
 The subobject in which the overriding virtual method resides.
const CXXRecordDeclInVirtualSubobject = nullptr
 The virtual base class subobject of which this overridden virtual method is a part.

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 230 of file CXXInheritance.h.

Constructor & Destructor Documentation

◆ UniqueVirtualMethod() [1/2]

clang::UniqueVirtualMethod::UniqueVirtualMethod ( )
default

Referenced by operator!=, and operator==.

◆ UniqueVirtualMethod() [2/2]

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

Definition at line 245 of file CXXInheritance.h.

References InVirtualSubobject, Method, and Subobject.

◆ operator!=

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

Definition at line 256 of file CXXInheritance.h.

References UniqueVirtualMethod(), and X.

◆ operator==

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

Definition at line 250 of file CXXInheritance.h.

References InVirtualSubobject, Method, Subobject, UniqueVirtualMethod(), and X.

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 241 of file CXXInheritance.h.

Referenced by operator==, and UniqueVirtualMethod().

◆ Method

CXXMethodDecl* clang::UniqueVirtualMethod::Method = nullptr

The overriding virtual method.

Definition at line 232 of file CXXInheritance.h.

Referenced by operator==, and UniqueVirtualMethod().

◆ Subobject

unsigned clang::UniqueVirtualMethod::Subobject = 0

The subobject in which the overriding virtual method resides.

Definition at line 236 of file CXXInheritance.h.

Referenced by operator==, and UniqueVirtualMethod().


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