[#llvm-ValueMapCallbackVH] = xref:llvm.adoc[llvm]::ValueMapCallbackVH :relfileprefix: ../ :mrdocs: CallbackVH that updates its ValueMap when the contained Value changes. == Synopsis Declared in `<llvm/IR/ValueMap.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename KeyT, typename ValueT, typename Config> class ValueMapCallbackVH final : public xref:llvm/CallbackVH.adoc[CallbackVH] ---- == Description Behavior follows the user's preferences expressed through the Config object. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:llvm/CallbackVH.adoc[CallbackVH]` | Value handle with callbacks on RAUW and destruction. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/ValueHandleBase/operator_assign-0b.adoc[`operator=`] | Assignment operators | xref:llvm/ValueMapCallbackVH/Unwrap.adoc[`Unwrap`] | Return the key as type `KeyT.` | xref:llvm/ValueMapCallbackVH/allUsesReplacedWith.adoc[`allUsesReplacedWith`] [.small]#[virtual]# | Notify the Config and optionally remap this key when RAUWd. | xref:llvm/ValueMapCallbackVH/deleted.adoc[`deleted`] [.small]#[virtual]# | Notify the Config and erase this key when the Value is deleted. | xref:llvm/ValueHandleBase/operator_star.adoc[`operator*`] | Return a reference to the tracked Value. | xref:llvm/ValueHandleBase/operator_ptr.adoc[`operator‐>`] | Return a pointer to the tracked Value. | xref:llvm/CallbackVH/2conversion.adoc[`operator Value*`] | Implicit conversion to the tracked Value pointer. |=== == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/ValueHandleBase/ValueIsDeleted.adoc[`ValueIsDeleted`] | Notify all handles that `V` is being destroyed. | xref:llvm/ValueHandleBase/ValueIsRAUWd.adoc[`ValueIsRAUWd`] | Notify all handles that `Old` is being RAUW'd to `New.` |=== == Protected Enums [cols="1,4"] |=== | Name| Description | xref:llvm/ValueHandleBase/HandleBaseKind.adoc[`HandleBaseKind`] | This indicates what sub class the handle actually is. |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/CallbackVH/operator_assign.adoc[`operator=`] | Copy‐assign from another callback handle. | xref:llvm/ValueHandleBase/RemoveFromUseList.adoc[`RemoveFromUseList`] | Remove this ValueHandle from its current use list. | xref:llvm/ValueHandleBase/clearValPtr.adoc[`clearValPtr`] | Clear the underlying pointer without clearing the use list. | xref:llvm/ValueHandleBase/getValPtr.adoc[`getValPtr`] | Return the raw Value pointer held by this handle. | xref:llvm/CallbackVH/setValPtr.adoc[`setValPtr`] | Point this handle at `P.` |=== == Protected Static Member Functions [cols="1,4"] |=== | Name| Description | xref:llvm/ValueHandleBase/isValid.adoc[`isValid`] | Return true if `V` is a non‐null Value pointer. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:llvm/DenseMapInfo-034d.adoc[llvm::DenseMapInfo]` | Traits type that supplies DenseMap hashing and equality for value type `T.` | `xref:llvm/ValueMap.adoc[llvm::ValueMap]` | See the file comment. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#