class FoldingSetImpl

Declaration

template <class Derived, 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:435

Inherits from: FoldingSetBase

Templates

Derived
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:489

Parameters

const llvm::FoldingSetNodeID& ID
void*& InsertPos

FoldingSetImpl<Derived, T>(
    unsigned int Log2InitSize)

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

Parameters

unsigned int Log2InitSize

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

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

Parameters

FoldingSetImpl<Derived, 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:481

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:497

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:503

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:474

Parameters

T* N

llvm::FoldingSetImpl::iterator begin()

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

llvm::FoldingSetImpl::const_iterator begin() const

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

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

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

Parameters

unsigned int hash

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

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

Parameters

unsigned int hash

llvm::FoldingSetImpl::iterator end()

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

llvm::FoldingSetImpl::const_iterator end() const

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

void reserve(unsigned int EltCount)

Description

reserve - Increase the number of buckets such that adding the EltCount-th node won't cause a rebucket operation. reserve is permitted to allocate more space than requested by EltCount.

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

Parameters

unsigned int EltCount

~FoldingSetImpl<Derived, T>()

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