LLVM  8.0.1
Public Member Functions | List of all members
llvm::ImmutableSet< ValT, ValInfo >::Factory Class Reference

#include "llvm/ADT/ImmutableSet.h"

Public Member Functions

 Factory (bool canonicalize=true)
 
 Factory (BumpPtrAllocator &Alloc, bool canonicalize=true)
 
 Factory (const Factory &RHS)=delete
 
void operator= (const Factory &RHS)=delete
 
ImmutableSet getEmptySet ()
 getEmptySet - Returns an immutable set that contains no elements. More...
 
LLVM_NODISCARD ImmutableSet add (ImmutableSet Old, value_type_ref V)
 add - Creates a new immutable set that contains all of the values of the original set with the addition of the specified value. More...
 
LLVM_NODISCARD ImmutableSet remove (ImmutableSet Old, value_type_ref V)
 remove - Creates a new immutable set that contains all of the values of the original set with the exception of the specified value. More...
 
BumpPtrAllocatorgetAllocator ()
 
TreeTy::FactorygetTreeFactory () const
 

Detailed Description

template<typename ValT, typename ValInfo = ImutContainerInfo<ValT>>
class llvm::ImmutableSet< ValT, ValInfo >::Factory

Definition at line 994 of file ImmutableSet.h.

Constructor & Destructor Documentation

◆ Factory() [1/3]

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
llvm::ImmutableSet< ValT, ValInfo >::Factory::Factory ( bool  canonicalize = true)
inline

Definition at line 999 of file ImmutableSet.h.

◆ Factory() [2/3]

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
llvm::ImmutableSet< ValT, ValInfo >::Factory::Factory ( BumpPtrAllocator Alloc,
bool  canonicalize = true 
)
inline

Definition at line 1002 of file ImmutableSet.h.

◆ Factory() [3/3]

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
llvm::ImmutableSet< ValT, ValInfo >::Factory::Factory ( const Factory RHS)
delete

Member Function Documentation

◆ add()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
LLVM_NODISCARD ImmutableSet llvm::ImmutableSet< ValT, ValInfo >::Factory::add ( ImmutableSet  Old,
value_type_ref  V 
)
inline

add - Creates a new immutable set that contains all of the values of the original set with the addition of the specified value.

If the original set already included the value, then the original set is returned and no memory is allocated. The time and space complexity of this operation is logarithmic in the size of the original set. The memory allocated to represent the set is released when the factory object that created the set is destroyed.

Definition at line 1020 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::add(), and llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree().

◆ getAllocator()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
BumpPtrAllocator& llvm::ImmutableSet< ValT, ValInfo >::Factory::getAllocator ( )
inline

Definition at line 1037 of file ImmutableSet.h.

◆ getEmptySet()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
ImmutableSet llvm::ImmutableSet< ValT, ValInfo >::Factory::getEmptySet ( )
inline

getEmptySet - Returns an immutable set that contains no elements.

Definition at line 1009 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::getEmptyTree().

◆ getTreeFactory()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
TreeTy::Factory* llvm::ImmutableSet< ValT, ValInfo >::Factory::getTreeFactory ( ) const
inline

Definition at line 1039 of file ImmutableSet.h.

References F().

◆ operator=()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
void llvm::ImmutableSet< ValT, ValInfo >::Factory::operator= ( const Factory RHS)
delete

◆ remove()

template<typename ValT , typename ValInfo = ImutContainerInfo<ValT>>
LLVM_NODISCARD ImmutableSet llvm::ImmutableSet< ValT, ValInfo >::Factory::remove ( ImmutableSet  Old,
value_type_ref  V 
)
inline

remove - Creates a new immutable set that contains all of the values of the original set with the exception of the specified value.

If the original set did not contain the value, the original set is returned and no memory is allocated. The time and space complexity of this operation is logarithmic in the size of the original set. The memory allocated to represent the set is released when the factory object that created the set is destroyed.

Definition at line 1032 of file ImmutableSet.h.

References llvm::ImutAVLFactory< ImutInfo >::getCanonicalTree(), and llvm::ImutAVLFactory< ImutInfo >::remove().


The documentation for this class was generated from the following file: