LLVM  4.0.0
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 <ValueMap.h>

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

Classes

struct  ExtraData
 

Public Types

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

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. More...
 

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 59 of file ValueMap.h.

Member Typedef Documentation

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

Definition at line 60 of file ValueMap.h.

Member Enumeration Documentation

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 64 of file ValueMap.h.

Member Function Documentation

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 82 of file ValueMap.h.

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

Definition at line 75 of file ValueMap.h.

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 73 of file ValueMap.h.


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