class ContextualFoldingSet
Declaration
template <class T, class Ctx>
class ContextualFoldingSet { /* full declaration omitted */ };
Description
ContextualFoldingSet - This template class is a further refinement of FoldingSet which provides a context argument when calling Profile on its nodes. Currently, that argument is fixed at initialization time. T must be a subclass of FoldingSetNode and implement a Profile function with signature void Profile(FoldingSetNodeID & , Ctx);
Declared at: llvm/include/llvm/ADT/FoldingSet.h:572
Templates
- T
- Ctx
Member Variables
- private Ctx Context
Method Overview
- private static unsigned int ComputeNodeHash(const llvm::FoldingSetBase * Base, llvm::ContextualFoldingSet::Node * N, llvm::FoldingSetNodeID & TempID)
- public ContextualFoldingSet<T, Ctx>(Ctx Context, unsigned int Log2InitSize = 6)
- private static void GetNodeProfile(const llvm::FoldingSetBase * Base, llvm::ContextualFoldingSet::Node * N, llvm::FoldingSetNodeID & ID)
- private static bool NodeEquals(const llvm::FoldingSetBase * Base, llvm::ContextualFoldingSet::Node * N, const llvm::FoldingSetNodeID & ID, unsigned int IDHash, llvm::FoldingSetNodeID & TempID)
- private static const Ctx & getContext(const llvm::FoldingSetBase * Base)
- public Ctx getContext() const
- private static const FoldingSetBase::FoldingSetInfo & getFoldingSetInfo()
Methods
¶static unsigned int ComputeNodeHash(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
llvm::FoldingSetNodeID& TempID)
static unsigned int ComputeNodeHash(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
llvm::FoldingSetNodeID& TempID)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:604
Parameters
- const llvm::FoldingSetBase* Base
- llvm::ContextualFoldingSet::Node* N
- llvm::FoldingSetNodeID& TempID
¶ContextualFoldingSet<T, Ctx>(
Ctx Context,
unsigned int Log2InitSize = 6)
ContextualFoldingSet<T, Ctx>(
Ctx Context,
unsigned int Log2InitSize = 6)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:619
Parameters
- Ctx Context
- unsigned int Log2InitSize = 6
¶static void GetNodeProfile(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
llvm::FoldingSetNodeID& ID)
static void GetNodeProfile(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
llvm::FoldingSetNodeID& ID)
Description
GetNodeProfile - Each instantiatation of the FoldingSet needs to provide a way to convert nodes into a unique specifier.
Declared at: llvm/include/llvm/ADT/FoldingSet.h:590
Parameters
- const llvm::FoldingSetBase* Base
- llvm::ContextualFoldingSet::Node* N
- llvm::FoldingSetNodeID& ID
¶static bool NodeEquals(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
const llvm::FoldingSetNodeID& ID,
unsigned int IDHash,
llvm::FoldingSetNodeID& TempID)
static bool NodeEquals(
const llvm::FoldingSetBase* Base,
llvm::ContextualFoldingSet::Node* N,
const llvm::FoldingSetNodeID& ID,
unsigned int IDHash,
llvm::FoldingSetNodeID& TempID)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:596
Parameters
- const llvm::FoldingSetBase* Base
- llvm::ContextualFoldingSet::Node* N
- const llvm::FoldingSetNodeID& ID
- unsigned int IDHash
- llvm::FoldingSetNodeID& TempID
¶static const Ctx& getContext(
const llvm::FoldingSetBase* Base)
static const Ctx& getContext(
const llvm::FoldingSetBase* Base)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:584
Parameters
- const llvm::FoldingSetBase* Base
¶Ctx getContext() const
Ctx getContext() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:622
¶static const FoldingSetBase::FoldingSetInfo&
getFoldingSetInfo()
static const FoldingSetBase::FoldingSetInfo&
getFoldingSetInfo()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:611