LLVM API Documentation

Public Member Functions | Friends
llvm::ValueMapCallbackVH< KeyT, ValueT, Config > Class Template Reference

#include <ValueMap.h>

Inheritance diagram for llvm::ValueMapCallbackVH< KeyT, ValueT, Config >:
Inheritance graph
[legend]
Collaboration diagram for llvm::ValueMapCallbackVH< KeyT, ValueT, Config >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

KeyT Unwrap () const
void deleted () override
void allUsesReplacedWith (Value *new_key) override

Friends

class ValueMap< KeyT, ValueT, Config >
struct DenseMapInfo< ValueMapCallbackVH >

Detailed Description

template<typename KeyT, typename ValueT, typename Config>
class llvm::ValueMapCallbackVH< KeyT, ValueT, Config >

Definition at line 201 of file ValueMap.h.


Member Function Documentation

template<typename KeyT , typename ValueT , typename Config >
void llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::allUsesReplacedWith ( Value ) [inline, override, virtual]

Called when this->getValPtr()->replaceAllUsesWith(new_value) is called, _before_ any of the uses have actually been replaced. If WeakVH were implemented as a CallbackVH, it would use this method to call setValPtr(new_value). AssertingVH would do nothing in this method.

Reimplemented from llvm::CallbackVH.

Definition at line 226 of file ValueMap.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::erase(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::find(), I, llvm::ValueMap< KeyT, ValueT, Config >::insert(), llvm::ValueMapIterator< DenseMapT, KeyT >::ValueTypeProxy::second, and llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::Unwrap().

template<typename KeyT , typename ValueT , typename Config >
void llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::deleted ( ) [inline, override, virtual]

Called when this->getValPtr() is destroyed, inside ~Value(), so you may call any non-virtual Value method on getValPtr(), but no subclass methods. If WeakVH were implemented as a CallbackVH, it would use this method to call setValPtr(NULL). AssertingVH would use this method to cause an assertion failure.

All implementations must remove the reference from this object to the Value that's being destroyed.

Reimplemented from llvm::CallbackVH.

Definition at line 216 of file ValueMap.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT >::erase(), and llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::Unwrap().

template<typename KeyT , typename ValueT , typename Config >
KeyT llvm::ValueMapCallbackVH< KeyT, ValueT, Config >::Unwrap ( ) const [inline]

Friends And Related Function Documentation

template<typename KeyT , typename ValueT , typename Config >
friend struct DenseMapInfo< ValueMapCallbackVH > [friend]

Definition at line 203 of file ValueMap.h.

template<typename KeyT , typename ValueT , typename Config >
friend class ValueMap< KeyT, ValueT, Config > [friend]

Definition at line 202 of file ValueMap.h.


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