LLVM  4.0.0
Public Types | Static Public Member Functions | List of all members
llvm::ImutKeyValueInfo< T, S > Struct Template Reference

ImutKeyValueInfo -Traits class used by ImmutableMap. More...

#include <ImmutableMap.h>

Public Types

typedef const std::pair< T, S > value_type
 
typedef const value_typevalue_type_ref
 
typedef const T key_type
 
typedef const Tkey_type_ref
 
typedef constdata_type
 
typedef const S & data_type_ref
 

Static Public Member Functions

static key_type_ref KeyOfValue (value_type_ref V)
 
static data_type_ref DataOfValue (value_type_ref V)
 
static bool isEqual (key_type_ref L, key_type_ref R)
 
static bool isLess (key_type_ref L, key_type_ref R)
 
static bool isDataEqual (data_type_ref L, data_type_ref R)
 
static void Profile (FoldingSetNodeID &ID, value_type_ref V)
 

Detailed Description

template<typename T, typename S>
struct llvm::ImutKeyValueInfo< T, S >

ImutKeyValueInfo -Traits class used by ImmutableMap.

While both the first and second elements in a pair are used to generate profile information, only the first element (the key) is used by isEqual and isLess.

Definition at line 28 of file ImmutableMap.h.

Member Typedef Documentation

template<typename T , typename S >
typedef const S llvm::ImutKeyValueInfo< T, S >::data_type

Definition at line 33 of file ImmutableMap.h.

template<typename T , typename S >
typedef const S& llvm::ImutKeyValueInfo< T, S >::data_type_ref

Definition at line 34 of file ImmutableMap.h.

template<typename T , typename S >
typedef const T llvm::ImutKeyValueInfo< T, S >::key_type

Definition at line 31 of file ImmutableMap.h.

template<typename T , typename S >
typedef const T& llvm::ImutKeyValueInfo< T, S >::key_type_ref

Definition at line 32 of file ImmutableMap.h.

template<typename T , typename S >
typedef const std::pair<T,S> llvm::ImutKeyValueInfo< T, S >::value_type

Definition at line 29 of file ImmutableMap.h.

template<typename T , typename S >
typedef const value_type& llvm::ImutKeyValueInfo< T, S >::value_type_ref

Definition at line 30 of file ImmutableMap.h.

Member Function Documentation

template<typename T , typename S >
static data_type_ref llvm::ImutKeyValueInfo< T, S >::DataOfValue ( value_type_ref  V)
inlinestatic

Definition at line 40 of file ImmutableMap.h.

template<typename T , typename S >
static bool llvm::ImutKeyValueInfo< T, S >::isDataEqual ( data_type_ref  L,
data_type_ref  R 
)
inlinestatic

Definition at line 51 of file ImmutableMap.h.

References llvm::ImutContainerInfo< T >::isEqual().

template<typename T , typename S >
static bool llvm::ImutKeyValueInfo< T, S >::isEqual ( key_type_ref  L,
key_type_ref  R 
)
inlinestatic

Definition at line 44 of file ImmutableMap.h.

References llvm::ImutContainerInfo< T >::isEqual().

template<typename T , typename S >
static bool llvm::ImutKeyValueInfo< T, S >::isLess ( key_type_ref  L,
key_type_ref  R 
)
inlinestatic

Definition at line 47 of file ImmutableMap.h.

References llvm::ImutContainerInfo< T >::isLess().

template<typename T , typename S >
static key_type_ref llvm::ImutKeyValueInfo< T, S >::KeyOfValue ( value_type_ref  V)
inlinestatic

Definition at line 36 of file ImmutableMap.h.

template<typename T , typename S >
static void llvm::ImutKeyValueInfo< T, S >::Profile ( FoldingSetNodeID ID,
value_type_ref  V 
)
inlinestatic

Definition at line 55 of file ImmutableMap.h.

References llvm::ImutProfileInfo< T >::Profile().


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