LLVM 22.0.0git
llvm::WeakVH Class Reference

A nullable Value handle that is nullable. More...

#include "llvm/IR/ValueHandle.h"

Inheritance diagram for llvm::WeakVH:
[legend]

Public Member Functions

 WeakVH ()
 WeakVH (Value *P)
 WeakVH (const WeakVH &RHS)
WeakVHoperator= (const WeakVH &RHS)=default
Valueoperator= (Value *RHS)
Valueoperator= (const ValueHandleBase &RHS)
 operator Value * () 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 LLVM_ABI void ValueIsDeleted (Value *V)
static LLVM_ABI 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
LLVM_ABI void RemoveFromUseList ()
 Remove this ValueHandle from its current use list.
void clearValPtr ()
 Clear the underlying pointer without clearing the use list.
Static Protected Member Functions inherited from llvm::ValueHandleBase
static bool isValid (Value *V)

Detailed Description

A nullable Value handle that is nullable.

This is a value handle that points to a value, and nulls itself out if that value is deleted.

Definition at line 145 of file ValueHandle.h.

Constructor & Destructor Documentation

◆ WeakVH() [1/3]

llvm::WeakVH::WeakVH ( )
inline

Definition at line 147 of file ValueHandle.h.

References llvm::ValueHandleBase::ValueHandleBase(), and llvm::ValueHandleBase::Weak.

Referenced by operator=(), and WeakVH().

◆ WeakVH() [2/3]

llvm::WeakVH::WeakVH ( Value * P)
inline

◆ WeakVH() [3/3]

llvm::WeakVH::WeakVH ( const WeakVH & RHS)
inline

Member Function Documentation

◆ operator Value *()

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

◆ operator=() [1/3]

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

◆ operator=() [2/3]

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

References RHS, and WeakVH().

◆ operator=() [3/3]

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

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