LLVM  8.0.1
Public Member Functions | List of all members
llvm::WeakTrackingVH Class Reference

Value handle that is nullable, but tries to track the Value. More...

#include "llvm/IR/ValueHandle.h"

Inheritance diagram for llvm::WeakTrackingVH:
Inheritance graph
[legend]
Collaboration diagram for llvm::WeakTrackingVH:
Collaboration graph
[legend]

Public Member Functions

 WeakTrackingVH ()
 
 WeakTrackingVH (Value *P)
 
 WeakTrackingVH (const WeakTrackingVH &RHS)
 
WeakTrackingVHoperator= (const WeakTrackingVH &RHS)=default
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
 operator Value * () const
 
bool pointsToAliveValue () const
 
- Public Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (HandleBaseKind Kind)
 
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 
 ~ValueHandleBase ()
 
Valueoperator= (Value *RHS)
 
Valueoperator= (const ValueHandleBase &RHS)
 
Valueoperator-> () const
 
Valueoperator* () const
 

Additional Inherited Members

- Static Public Member Functions inherited from llvm::ValueHandleBase
static void ValueIsDeleted (Value *V)
 
static void ValueIsRAUWd (Value *Old, Value *New)
 
- Protected Types inherited from llvm::ValueHandleBase
enum  HandleBaseKind { Assert, Callback, Weak, WeakTracking }
 This indicates what sub class the handle actually is. More...
 
- Protected Member Functions inherited from llvm::ValueHandleBase
 ValueHandleBase (const ValueHandleBase &RHS)
 
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 
ValuegetValPtr () const
 
void RemoveFromUseList ()
 Remove this ValueHandle from its current use list. More...
 
void clearValPtr ()
 Clear the underlying pointer without clearing the use list. More...
 
- Static Protected Member Functions inherited from llvm::ValueHandleBase
static bool isValid (Value *V)
 

Detailed Description

Value handle that is nullable, but tries to track the Value.

This is a value handle that tries hard to point to a Value, even across RAUW operations, but will null itself out if the value is destroyed. this is useful for advisory sorts of information, but should not be used as the key of a map (since the map would have to rearrange itself when the pointer changes).

Definition at line 182 of file ValueHandle.h.

Constructor & Destructor Documentation

◆ WeakTrackingVH() [1/3]

llvm::WeakTrackingVH::WeakTrackingVH ( )
inline

Definition at line 184 of file ValueHandle.h.

◆ WeakTrackingVH() [2/3]

llvm::WeakTrackingVH::WeakTrackingVH ( Value P)
inline

Definition at line 185 of file ValueHandle.h.

◆ WeakTrackingVH() [3/3]

llvm::WeakTrackingVH::WeakTrackingVH ( const WeakTrackingVH RHS)
inline

Definition at line 186 of file ValueHandle.h.

References llvm::ValueHandleBase::operator=().

Member Function Documentation

◆ operator Value *()

llvm::WeakTrackingVH::operator Value * ( ) const
inline

Definition at line 198 of file ValueHandle.h.

References llvm::ValueHandleBase::getValPtr().

◆ operator=() [1/3]

WeakTrackingVH& llvm::WeakTrackingVH::operator= ( const WeakTrackingVH RHS)
default

◆ operator=() [2/3]

Value* llvm::WeakTrackingVH::operator= ( Value RHS)
inline

Definition at line 191 of file ValueHandle.h.

References llvm::ValueHandleBase::operator=().

◆ operator=() [3/3]

Value* llvm::WeakTrackingVH::operator= ( const ValueHandleBase RHS)
inline

Definition at line 194 of file ValueHandle.h.

References llvm::ValueHandleBase::operator=().

◆ pointsToAliveValue()

bool llvm::WeakTrackingVH::pointsToAliveValue ( ) const
inline

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