LLVM  mainline
Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Friends
llvm::ValueHandleBase Class Reference

This is the common base class of value handles. More...

#include <ValueHandle.h>

Inheritance diagram for llvm::ValueHandleBase:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 ValueHandleBase (HandleBaseKind Kind)
 ValueHandleBase (HandleBaseKind Kind, Value *V)
 ValueHandleBase (HandleBaseKind Kind, const ValueHandleBase &RHS)
 ~ValueHandleBase ()
Valueoperator= (Value *RHS)
Valueoperator= (const ValueHandleBase &RHS)
Valueoperator-> () const
Valueoperator* () const

Static Public Member Functions

static void ValueIsDeleted (Value *V)
static void ValueIsRAUWd (Value *Old, Value *New)

Protected Types

enum  HandleBaseKind { Assert, Callback, Tracking, Weak }
 This indicates what sub class the handle actually is. More...

Protected Member Functions

ValuegetValPtr () const

Static Protected Member Functions

static bool isValid (Value *V)

Friends

class Value

Detailed Description

This is the common base class of value handles.

ValueHandle's are smart pointers to Value's that have special behavior when the value is deleted or ReplaceAllUsesWith'd. See the specific handles below for details.

Definition at line 41 of file ValueHandle.h.


Member Enumeration Documentation

This indicates what sub class the handle actually is.

This is to avoid having a vtable for the light-weight handle pointers. The fully general Callback version does have a vtable.

Enumerator:
Assert 
Callback 
Tracking 
Weak 

Definition at line 48 of file ValueHandle.h.


Constructor & Destructor Documentation

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind) [inline, explicit]

Definition at line 63 of file ValueHandle.h.

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind,
Value V 
) [inline]

Definition at line 65 of file ValueHandle.h.

References isValid().

llvm::ValueHandleBase::ValueHandleBase ( HandleBaseKind  Kind,
const ValueHandleBase RHS 
) [inline]

Definition at line 70 of file ValueHandle.h.

References isValid().

Definition at line 75 of file ValueHandle.h.

References isValid().


Member Function Documentation

Value* llvm::ValueHandleBase::getValPtr ( ) const [inline, protected]
static bool llvm::ValueHandleBase::isValid ( Value V) [inline, static, protected]

Definition at line 102 of file ValueHandle.h.

Referenced by operator=(), ValueHandleBase(), and ~ValueHandleBase().

Value& llvm::ValueHandleBase::operator* ( ) const [inline]
Value* llvm::ValueHandleBase::operator-> ( ) const [inline]
Value* llvm::ValueHandleBase::operator= ( Value RHS) [inline]

Reimplemented in llvm::TrackingVH< Value >, and llvm::WeakVH.

Definition at line 80 of file ValueHandle.h.

References isValid().

Referenced by llvm::MMIAddrLabelMapCallbackPtr::setPtr(), and llvm::CallbackVH::setValPtr().

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

Reimplemented in llvm::WeakVH.

Definition at line 88 of file ValueHandle.h.

References isValid().

void ValueHandleBase::ValueIsDeleted ( Value V) [static]
void ValueHandleBase::ValueIsRAUWd ( Value Old,
Value New 
) [static]

Friends And Related Function Documentation

friend class Value [friend]

Definition at line 42 of file ValueHandle.h.


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