LLVM 19.0.0git
Public Member Functions | List of all members
llvm::TrackingMDRef Class Reference

Tracking metadata reference. More...

#include "llvm/IR/TrackingMDRef.h"

Public Member Functions

 TrackingMDRef ()=default
 
 TrackingMDRef (Metadata *MD)
 
 TrackingMDRef (TrackingMDRef &&X)
 
 TrackingMDRef (const TrackingMDRef &X)
 
TrackingMDRefoperator= (TrackingMDRef &&X)
 
TrackingMDRefoperator= (const TrackingMDRef &X)
 
 ~TrackingMDRef ()
 
Metadataget () const
 
 operator Metadata * () const
 
Metadataoperator-> () const
 
Metadataoperator* () const
 
void reset ()
 
void reset (Metadata *MD)
 
bool hasTrivialDestructor () const
 Check whether this has a trivial destructor.
 
bool operator== (const TrackingMDRef &X) const
 
bool operator!= (const TrackingMDRef &X) const
 

Detailed Description

Tracking metadata reference.

This class behaves like TrackingVH, but for metadata.

Definition at line 25 of file TrackingMDRef.h.

Constructor & Destructor Documentation

◆ TrackingMDRef() [1/4]

llvm::TrackingMDRef::TrackingMDRef ( )
default

◆ TrackingMDRef() [2/4]

llvm::TrackingMDRef::TrackingMDRef ( Metadata MD)
inlineexplicit

Definition at line 30 of file TrackingMDRef.h.

◆ TrackingMDRef() [3/4]

llvm::TrackingMDRef::TrackingMDRef ( TrackingMDRef &&  X)
inline

Definition at line 32 of file TrackingMDRef.h.

References X.

◆ TrackingMDRef() [4/4]

llvm::TrackingMDRef::TrackingMDRef ( const TrackingMDRef X)
inline

Definition at line 33 of file TrackingMDRef.h.

◆ ~TrackingMDRef()

llvm::TrackingMDRef::~TrackingMDRef ( )
inline

Definition at line 55 of file TrackingMDRef.h.

Member Function Documentation

◆ get()

Metadata * llvm::TrackingMDRef::get ( ) const
inline

◆ hasTrivialDestructor()

bool llvm::TrackingMDRef::hasTrivialDestructor ( ) const
inline

Check whether this has a trivial destructor.

If MD isn't replaceable, the destructor will be a no-op.

Definition at line 75 of file TrackingMDRef.h.

References llvm::MetadataTracking::isReplaceable().

◆ operator Metadata *()

llvm::TrackingMDRef::operator Metadata * ( ) const
inline

Definition at line 58 of file TrackingMDRef.h.

References get().

◆ operator!=()

bool llvm::TrackingMDRef::operator!= ( const TrackingMDRef X) const
inline

Definition at line 80 of file TrackingMDRef.h.

References X.

◆ operator*()

Metadata & llvm::TrackingMDRef::operator* ( ) const
inline

Definition at line 60 of file TrackingMDRef.h.

References get().

◆ operator->()

Metadata * llvm::TrackingMDRef::operator-> ( ) const
inline

Definition at line 59 of file TrackingMDRef.h.

References get().

◆ operator=() [1/2]

TrackingMDRef & llvm::TrackingMDRef::operator= ( const TrackingMDRef X)
inline

Definition at line 45 of file TrackingMDRef.h.

References X.

◆ operator=() [2/2]

TrackingMDRef & llvm::TrackingMDRef::operator= ( TrackingMDRef &&  X)
inline

Definition at line 35 of file TrackingMDRef.h.

References X.

◆ operator==()

bool llvm::TrackingMDRef::operator== ( const TrackingMDRef X) const
inline

Definition at line 79 of file TrackingMDRef.h.

References X.

◆ reset() [1/2]

void llvm::TrackingMDRef::reset ( )
inline

Definition at line 62 of file TrackingMDRef.h.

◆ reset() [2/2]

void llvm::TrackingMDRef::reset ( Metadata MD)
inline

Definition at line 66 of file TrackingMDRef.h.


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