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

Tracking metadata reference. More...

#include <TrackingMDRef.h>

Public Member Functions

 TrackingMDRef ()
 
 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. More...
 
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 29 of file TrackingMDRef.h.

Constructor & Destructor Documentation

llvm::TrackingMDRef::TrackingMDRef ( )
inline

Definition at line 33 of file TrackingMDRef.h.

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

Definition at line 34 of file TrackingMDRef.h.

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

Definition at line 36 of file TrackingMDRef.h.

References X.

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

Definition at line 37 of file TrackingMDRef.h.

llvm::TrackingMDRef::~TrackingMDRef ( )
inline

Definition at line 56 of file TrackingMDRef.h.

Member Function Documentation

Metadata* llvm::TrackingMDRef::get ( ) const
inline
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 76 of file TrackingMDRef.h.

References llvm::MetadataTracking::isReplaceable().

Referenced by llvm::TypedTrackingMDRef< MDNode >::hasTrivialDestructor().

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

Definition at line 59 of file TrackingMDRef.h.

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

Definition at line 81 of file TrackingMDRef.h.

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

Definition at line 61 of file TrackingMDRef.h.

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

Definition at line 60 of file TrackingMDRef.h.

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

Definition at line 38 of file TrackingMDRef.h.

References X.

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

Definition at line 47 of file TrackingMDRef.h.

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

Definition at line 80 of file TrackingMDRef.h.

void llvm::TrackingMDRef::reset ( )
inline

Definition at line 63 of file TrackingMDRef.h.

Referenced by llvm::TypedTrackingMDRef< MDNode >::reset().

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

Definition at line 67 of file TrackingMDRef.h.


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