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:
Method Overview
- public T * FindNodeOrInsertPos(const llvm::FoldingSetNodeID & ID, void *& InsertPos)
- protected FoldingSetImpl<T>(unsigned int Log2InitSize)
- protected FoldingSetImpl<T>(FoldingSetImpl<T> && Arg)
- public T * GetOrInsertNode(T * N)
- public void InsertNode(T * N, void * InsertPos)
- public void InsertNode(T * N)
- public bool RemoveNode(T * N)
- public llvm::FoldingSetImpl::iterator begin()
- public llvm::FoldingSetImpl::const_iterator begin() const
- public llvm::FoldingSetImpl::bucket_iterator bucket_begin(unsigned int hash)
- public llvm::FoldingSetImpl::bucket_iterator bucket_end(unsigned int hash)
- public llvm::FoldingSetImpl::iterator end()
- public llvm::FoldingSetImpl::const_iterator end() const
- protected ~FoldingSetImpl<T>()
Inherited from FoldingSetBase:
- protected ComputeNodeHash
- protected FindNodeOrInsertPos
- protected GetNodeProfile
- protected GetOrInsertNode
- protected InsertNode
- protected NodeEquals
- protected RemoveNode
- public capacity
- public clear
- public empty
- public reserve
- public size
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:444
Parameters
- const llvm::FoldingSetNodeID& ID
- void*& InsertPos
¶FoldingSetImpl<T>(unsigned int Log2InitSize)
FoldingSetImpl<T>(unsigned int Log2InitSize)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:402
Parameters
- unsigned int Log2InitSize
¶FoldingSetImpl<T>(FoldingSetImpl<T>&& Arg)
FoldingSetImpl<T>(FoldingSetImpl<T>&& Arg)
Declared at: llvm/include/llvm/ADT/FoldingSet.h:405
Parameters
- FoldingSetImpl<T>&& Arg
¶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:437
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:451
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:457
Parameters
- T* N
¶bool RemoveNode(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()
llvm::FoldingSetImpl::iterator begin()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:412
¶llvm::FoldingSetImpl::const_iterator begin() const
llvm::FoldingSetImpl::const_iterator begin() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:417
¶llvm::FoldingSetImpl::bucket_iterator
bucket_begin(unsigned int hash)
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)
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()
llvm::FoldingSetImpl::iterator end()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:413
¶llvm::FoldingSetImpl::const_iterator end() const
llvm::FoldingSetImpl::const_iterator end() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:418
¶~FoldingSetImpl<T>()
~FoldingSetImpl<T>()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:407