LLVM 24.0.0git
llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::Factory Class Reference

#include "llvm/ADT/ImmutableSet.h"

Public Member Functions

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

Detailed Description

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

Definition at line 966 of file ImmutableSet.h.

Constructor & Destructor Documentation

◆ Factory() [1/3]

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

Referenced by Factory(), and operator=().

◆ Factory() [2/3]

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

Definition at line 972 of file ImmutableSet.h.

References llvm::Alloc.

◆ Factory() [3/3]

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

References Factory(), and RHS.

Member Function Documentation

◆ add()

template<typename ValT, typename ValInfo = ImutContainerInfo<ValT>, bool Canonicalize = true>
ImmutableSet llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::Factory::add ( ImmutableSet Old,
value_type_ref V )
inlinenodiscard

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 989 of file ImmutableSet.h.

References llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::ImmutableSet().

◆ getAllocator()

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

Definition at line 1012 of file ImmutableSet.h.

◆ getEmptySet()

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

Returns an immutable set that contains no elements.

Definition at line 978 of file ImmutableSet.h.

References llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::ImmutableSet().

◆ getTreeFactory()

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

Definition at line 1014 of file ImmutableSet.h.

◆ operator=()

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

References Factory(), and RHS.

◆ remove()

template<typename ValT, typename ValInfo = ImutContainerInfo<ValT>, bool Canonicalize = true>
ImmutableSet llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::Factory::remove ( ImmutableSet Old,
value_type_ref V )
inlinenodiscard

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 1004 of file ImmutableSet.h.

References llvm::ImmutableSet< ValT, ValInfo, Canonicalize >::ImmutableSet().


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