LLVM 19.0.0git
Classes | Public Types | Static Public Member Functions | List of all members
llvm::ValueMapConfig< KeyT, MutexT > Struct Template Reference

This class defines the default behavior for configurable aspects of ValueMap<>. More...

#include "llvm/IR/ValueMap.h"

Inheritance diagram for llvm::ValueMapConfig< KeyT, MutexT >:
Inheritance graph
[legend]

Classes

struct  ExtraData
 

Public Types

enum  { FollowRAUW = true }
 If FollowRAUW is true, the ValueMap will update mappings on RAUW. More...
 
using mutex_type = MutexT
 

Static Public Member Functions

template<typename ExtraDataT >
static void onRAUW (const ExtraDataT &, KeyT, KeyT)
 
template<typename ExtraDataT >
static void onDelete (const ExtraDataT &, KeyT)
 
template<typename ExtraDataT >
static mutex_typegetMutex (const ExtraDataT &)
 Returns a mutex that should be acquired around any changes to the map.
 

Detailed Description

template<typename KeyT, typename MutexT = sys::Mutex>
struct llvm::ValueMapConfig< KeyT, MutexT >

This class defines the default behavior for configurable aspects of ValueMap<>.

User Configs should inherit from this class to be as compatible as possible with future versions of ValueMap.

Definition at line 56 of file ValueMap.h.

Member Typedef Documentation

◆ mutex_type

template<typename KeyT , typename MutexT = sys::Mutex>
using llvm::ValueMapConfig< KeyT, MutexT >::mutex_type = MutexT

Definition at line 57 of file ValueMap.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename KeyT , typename MutexT = sys::Mutex>
anonymous enum

If FollowRAUW is true, the ValueMap will update mappings on RAUW.

If it's false, the ValueMap will leave the original mapping in place.

Enumerator
FollowRAUW 

Definition at line 61 of file ValueMap.h.

Member Function Documentation

◆ getMutex()

template<typename KeyT , typename MutexT = sys::Mutex>
template<typename ExtraDataT >
static mutex_type * llvm::ValueMapConfig< KeyT, MutexT >::getMutex ( const ExtraDataT &  )
inlinestatic

Returns a mutex that should be acquired around any changes to the map.

This is only acquired from the CallbackVH (and held around calls to onRAUW and onDelete) and not inside other ValueMap methods. NULL means that no mutex is necessary.

Definition at line 79 of file ValueMap.h.

◆ onDelete()

template<typename KeyT , typename MutexT = sys::Mutex>
template<typename ExtraDataT >
static void llvm::ValueMapConfig< KeyT, MutexT >::onDelete ( const ExtraDataT &  ,
KeyT   
)
inlinestatic

Definition at line 72 of file ValueMap.h.

◆ onRAUW()

template<typename KeyT , typename MutexT = sys::Mutex>
template<typename ExtraDataT >
static void llvm::ValueMapConfig< KeyT, MutexT >::onRAUW ( const ExtraDataT &  ,
KeyT  ,
KeyT   
)
inlinestatic

Definition at line 70 of file ValueMap.h.


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