LLVM API Documentation

Public Member Functions
llvm::TrackingVH< ValueTy > Class Template Reference

#include <ValueHandle.h>

Inheritance diagram for llvm::TrackingVH< ValueTy >:
Inheritance graph
[legend]
Collaboration diagram for llvm::TrackingVH< ValueTy >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TrackingVH ()
 TrackingVH (ValueTy *P)
 TrackingVH (const TrackingVH &RHS)
 operator ValueTy * () const
ValueTy * operator= (ValueTy *RHS)
ValueTy * operator= (const TrackingVH< ValueTy > &RHS)
ValueTy * operator-> () const
ValueTy & operator* () const

Detailed Description

template<typename ValueTy>
class llvm::TrackingVH< ValueTy >

TrackingVH - This is a value handle that tracks a Value (or Value subclass), even across RAUW operations.

TrackingVH is designed for situations where a client needs to hold a handle to a Value (or subclass) across some operations which may move that value, but should never destroy it or replace it with some unacceptable type.

It is an error to do anything with a TrackingVH whose value has been destroyed, except to destruct it.

It is an error to attempt to replace a value with one of a type which is incompatible with any of its outstanding TrackingVHs.

Definition at line 288 of file ValueHandle.h.


Constructor & Destructor Documentation

template<typename ValueTy>
llvm::TrackingVH< ValueTy >::TrackingVH ( ) [inline]

Definition at line 323 of file ValueHandle.h.

template<typename ValueTy>
llvm::TrackingVH< ValueTy >::TrackingVH ( ValueTy *  P) [inline]

Definition at line 324 of file ValueHandle.h.

template<typename ValueTy>
llvm::TrackingVH< ValueTy >::TrackingVH ( const TrackingVH< ValueTy > &  RHS) [inline]

Definition at line 325 of file ValueHandle.h.


Member Function Documentation

template<typename ValueTy>
llvm::TrackingVH< ValueTy >::operator ValueTy * ( ) const [inline]

Definition at line 327 of file ValueHandle.h.

template<typename ValueTy>
ValueTy& llvm::TrackingVH< ValueTy >::operator* ( ) const [inline]

Reimplemented from llvm::ValueHandleBase.

Definition at line 341 of file ValueHandle.h.

template<typename ValueTy>
ValueTy* llvm::TrackingVH< ValueTy >::operator-> ( ) const [inline]

Reimplemented from llvm::ValueHandleBase.

Definition at line 340 of file ValueHandle.h.

template<typename ValueTy>
ValueTy* llvm::TrackingVH< ValueTy >::operator= ( ValueTy *  RHS) [inline]

Definition at line 331 of file ValueHandle.h.

template<typename ValueTy>
ValueTy* llvm::TrackingVH< ValueTy >::operator= ( const TrackingVH< ValueTy > &  RHS) [inline]

Definition at line 335 of file ValueHandle.h.


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