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:558
Templates
- T
- VectorT = SmallVector<T *, 8>
Method Overview
- public T * FindNodeOrInsertPos(const llvm::FoldingSetNodeID & ID, void *& InsertPos)
- public FoldingSetVector<T, VectorT>(unsigned int Log2InitSize = 6)
- public T * GetOrInsertNode(T * N)
- public void InsertNode(T * N, void * InsertPos)
- public void InsertNode(T * N)
- public int begin()
- public int begin() const
- public void clear()
- public bool empty() const
- public int end()
- public int end() const
- public unsigned int size() const
Methods
¶T* FindNodeOrInsertPos(
const llvm::FoldingSetNodeID& ID,
void*& InsertPos)
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:581
Parameters
- const llvm::FoldingSetNodeID& ID
- void*& InsertPos
¶FoldingSetVector<T, VectorT>(
unsigned int Log2InitSize = 6)
FoldingSetVector<T, VectorT>(
unsigned int Log2InitSize = 6)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:563
Parameters
- unsigned int Log2InitSize = 6
¶T* GetOrInsertNode(T* N)
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:588
Parameters
- T* N
¶void InsertNode(T* N, void* InsertPos)
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:597
Parameters
- T* N
- void* InsertPos
¶void InsertNode(T* N)
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:604
Parameters
- T* N
¶int begin()
int begin()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:567
¶int begin() const
int begin() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:572
¶void clear()
void clear()
Description
clear - Remove all nodes from the folding set.
Declared at: llvm/include/llvm/ADT/FoldingSet.h:576
¶bool empty() const
bool empty() const
Description
empty - Returns true if there are no nodes in the folding set.
Declared at: llvm/include/llvm/ADT/FoldingSet.h:613
¶int end()
int end()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:568
¶int end() const
int end() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:573
¶unsigned int size() const
unsigned int size() const
Description
size - Returns the number of nodes in the folding set.
Declared at: llvm/include/llvm/ADT/FoldingSet.h:610