LLVM 19.0.0git
List of all members
llvm::FoldingSetTrait< T, Enable > Struct Template Reference

FoldingSetTrait - This trait class is used to define behavior of how to "profile" (in the FoldingSet parlance) an object of a given type. More...

#include "llvm/ADT/FoldingSet.h"

Inheritance diagram for llvm::FoldingSetTrait< T, Enable >:
Inheritance graph
[legend]

Additional Inherited Members

- Static Public Member Functions inherited from llvm::DefaultFoldingSetTrait< T >
static void Profile (const T &X, FoldingSetNodeID &ID)
 
static void Profile (T &X, FoldingSetNodeID &ID)
 
static bool Equals (T &X, const FoldingSetNodeID &ID, unsigned IDHash, FoldingSetNodeID &TempID)
 
static unsigned ComputeHash (T &X, FoldingSetNodeID &TempID)
 

Detailed Description

template<typename T, typename Enable = void>
struct llvm::FoldingSetTrait< T, Enable >

FoldingSetTrait - This trait class is used to define behavior of how to "profile" (in the FoldingSet parlance) an object of a given type.

The default behavior is to invoke a 'Profile' method on an object, but through template specialization the behavior can be tailored for specific types. Combined with the FoldingSetNodeWrapper class, one can add objects to FoldingSets that were not originally designed to have that behavior.

Definition at line 263 of file FoldingSet.h.


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