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:
Method Overview
- public T * FindNodeOrInsertPos(const llvm::FoldingSetNodeID & ID, void *& InsertPos)
- protected FoldingSetImpl<Derived, T>(unsigned int Log2InitSize)
- protected FoldingSetImpl<Derived, T>(FoldingSetImpl<Derived, 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
- public void reserve(unsigned int EltCount)
- protected ~FoldingSetImpl<Derived, T>()
Inherited from FoldingSetBase:
- protected FindNodeOrInsertPos
- protected GetOrInsertNode
- protected InsertNode
- protected RemoveNode
- public capacity
- public clear
- public empty
- protected 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:489
Parameters
- const llvm::FoldingSetNodeID& ID
- void*& InsertPos
¶FoldingSetImpl<Derived, T>(
unsigned int Log2InitSize)
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)
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)
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)
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)
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)
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()
llvm::FoldingSetImpl::iterator begin()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:447
¶llvm::FoldingSetImpl::const_iterator begin() const
llvm::FoldingSetImpl::const_iterator begin() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:452
¶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:457
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:461
Parameters
- unsigned int hash
¶llvm::FoldingSetImpl::iterator end()
llvm::FoldingSetImpl::iterator end()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:448
¶llvm::FoldingSetImpl::const_iterator end() const
llvm::FoldingSetImpl::const_iterator end() const
Declared at: llvm/include/llvm/ADT/FoldingSet.h:453
¶void reserve(unsigned int EltCount)
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>()
~FoldingSetImpl<Derived, T>()
Declared at: llvm/include/llvm/ADT/FoldingSet.h:442