LLVM 20.0.0git
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 "llvm/ADT/ImmutableMap.h"

Public Types

using value_type = const std::pair< T, S >
 
using value_type_ref = const value_type &
 
using key_type = const T
 
using key_type_ref = const T &
 
using data_type = const S
 
using data_type_ref = const S &
 

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

◆ data_type

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

Definition at line 33 of file ImmutableMap.h.

◆ data_type_ref

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

Definition at line 34 of file ImmutableMap.h.

◆ key_type

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

Definition at line 31 of file ImmutableMap.h.

◆ key_type_ref

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

Definition at line 32 of file ImmutableMap.h.

◆ value_type

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

Definition at line 29 of file ImmutableMap.h.

◆ value_type_ref

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

Definition at line 30 of file ImmutableMap.h.

Member Function Documentation

◆ DataOfValue()

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.

◆ isDataEqual()

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().

◆ 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().

◆ isLess()

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().

◆ KeyOfValue()

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.

◆ Profile()

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: