class FoldingSetVector

Declaration

template <class T, class VectorT = SmallVector<T*, 8>>
class FoldingSetVector { /* full declaration omitted */ };

Description

FoldingSetVector - This template class combines a FoldingSet and a vector to provide the interface of FoldingSet but with deterministic iteration order based on the insertion order. T must be a subclass of FoldingSetNode and implement a Profile function.

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

Templates

T
VectorT = SmallVector<T *, 8>

Member Variables

private FoldingSet<T> Set
private VectorT Vector

Method Overview

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

Parameters

const llvm::FoldingSetNodeID& ID
void*& InsertPos

FoldingSetVector<T, VectorT>(
    unsigned int Log2InitSize = 6)

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

Parameters

unsigned int Log2InitSize = 6

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

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

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

Parameters

T* N

llvm::FoldingSetVector::iterator begin()

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

llvm::FoldingSetVector::const_iterator begin()
    const

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

void clear()

Description

clear - Remove all nodes from the folding set.

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

bool empty() const

Description

empty - Returns true if there are no nodes in the folding set.

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

llvm::FoldingSetVector::iterator end()

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

llvm::FoldingSetVector::const_iterator end() const

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

unsigned int size() const

Description

size - Returns the number of nodes in the folding set.

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