class FoldingSetImpl

Declaration

template <class T>
class FoldingSetImpl : public FoldingSetBase { /* full declaration omitted */ };

Description

FoldingSetImpl - An implementation detail that lets us share code between FoldingSet and ContextualFoldingSet.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:400

Inherits from: FoldingSetBase

Templates

T

Member Variables

Inherited from FoldingSetBase:

protected Buckets
protected NumBuckets
protected NumNodes

Method Overview

Inherited from FoldingSetBase:

Methods

T* FindNodeOrInsertPos(
    const llvm::FoldingSetNodeID& ID,
    void*& InsertPos)

Description

FindNodeOrInsertPos - Look up the node specified by ID. If it exists, return it. If not, return the insertion token that will make insertion faster.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:444

Parameters

const llvm::FoldingSetNodeID& ID
void*& InsertPos

FoldingSetImpl<T>(unsigned int Log2InitSize)

Declared at: llvm/include/llvm/ADT/FoldingSet.h:402

Parameters

unsigned int Log2InitSize

FoldingSetImpl<T>(FoldingSetImpl<T>&& Arg)

Declared at: llvm/include/llvm/ADT/FoldingSet.h:405

Parameters

FoldingSetImpl<T>&& Arg

T* GetOrInsertNode(T* N)

Description

GetOrInsertNode - If there is an existing simple Node exactly equal to the specified node, return it. Otherwise, insert 'N' and return it instead.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:437

Parameters

T* N

void InsertNode(T* N, void* InsertPos)

Description

InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set. InsertPos must be obtained from FindNodeOrInsertPos.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:451

Parameters

T* N
void* InsertPos

void InsertNode(T* N)

Description

InsertNode - Insert the specified node into the folding set, knowing that it is not already in the folding set.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:457

Parameters

T* N

bool RemoveNode(T* N)

Description

RemoveNode - Remove a node from the folding set, returning true if one was removed or false if the node was not in the folding set.

Declared at: llvm/include/llvm/ADT/FoldingSet.h:432

Parameters

T* N

llvm::FoldingSetImpl::iterator begin()

Declared at: llvm/include/llvm/ADT/FoldingSet.h:412

llvm::FoldingSetImpl::const_iterator begin() const

Declared at: llvm/include/llvm/ADT/FoldingSet.h:417

llvm::FoldingSetImpl::bucket_iterator
bucket_begin(unsigned int hash)

Declared at: llvm/include/llvm/ADT/FoldingSet.h:422

Parameters

unsigned int hash

llvm::FoldingSetImpl::bucket_iterator bucket_end(
    unsigned int hash)

Declared at: llvm/include/llvm/ADT/FoldingSet.h:426

Parameters

unsigned int hash

llvm::FoldingSetImpl::iterator end()

Declared at: llvm/include/llvm/ADT/FoldingSet.h:413

llvm::FoldingSetImpl::const_iterator end() const

Declared at: llvm/include/llvm/ADT/FoldingSet.h:418

~FoldingSetImpl<T>()

Declared at: llvm/include/llvm/ADT/FoldingSet.h:407