Base Framework
Public Member Functions | List of all members
HashSet< TYPE >::HashSetImpl Class Reference

Inherits ReferenceCountedObject.

Public Member Functions

Node ** getBuckets () noexcept
 
const Node *const * getBuckets () const noexcept
 
 HashSetImpl (MemorySize capacity)
 
 HashSetImpl (const HashSetImpl &copy)
 
void grow ()
 
void shrink ()
 
MemorySize getCapacity () const noexcept
 
MemorySize getSize () const noexcept
 
bool hasValue (const Value &key) noexcept
 
bool hasValue (const Value &value) const noexcept
 
bool hasKey (const Value &key) const noexcept
 
void add (const Value &value)
 
void remove (const Value &value)
 
 ~HashSetImpl ()
 
- Public Member Functions inherited from ReferenceCountedObject
 ReferenceCountedObject () noexcept
 
 ReferenceCountedObject (const ReferenceCountedObject &copy) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&move) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &copy) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&move) noexcept
 
MemorySize getNumberOfReferences_INTERNAL () const noexcept
 
virtual bool useGarbageCollector () const noexcept
 
- Public Member Functions inherited from DynamicObject
 DynamicObject () noexcept
 
bool isValidObject () const noexcept
 
virtual ~DynamicObject () noexcept(false)
 
 _COM_AZURE_DEV__BASE__OVERRIDE_ALLOC ()
 

Constructor & Destructor Documentation

◆ HashSetImpl() [1/2]

template<class TYPE >
HashSet< TYPE >::HashSetImpl::HashSetImpl ( MemorySize  capacity)
inline

Initializes the hash set with the specified capacity.

◆ HashSetImpl() [2/2]

template<class TYPE >
HashSet< TYPE >::HashSetImpl::HashSetImpl ( const HashSetImpl copy)
inline

Initializes the hash set from another hash set.

◆ ~HashSetImpl()

template<class TYPE >
HashSet< TYPE >::HashSetImpl::~HashSetImpl ( )
inline

Destroys the hash set.

Member Function Documentation

◆ add()

template<class TYPE >
void HashSet< TYPE >::HashSetImpl::add ( const Value value)
inline

Adds the element to the set.

◆ getBuckets() [1/2]

template<class TYPE >
const Node* const* HashSet< TYPE >::HashSetImpl::getBuckets ( ) const
inlinenoexcept

Returns the buckets for non-modifying access.

◆ getBuckets() [2/2]

template<class TYPE >
Node** HashSet< TYPE >::HashSetImpl::getBuckets ( )
inlinenoexcept

Returns the buckets for modifying access.

◆ getCapacity()

template<class TYPE >
MemorySize HashSet< TYPE >::HashSetImpl::getCapacity ( ) const
inlinenoexcept

Returns the capacity of the hash set.

◆ getSize()

template<class TYPE >
MemorySize HashSet< TYPE >::HashSetImpl::getSize ( ) const
inlinenoexcept

Returns the number of elements in the hash set.

◆ grow()

template<class TYPE >
void HashSet< TYPE >::HashSetImpl::grow ( )
inline

Increases the capacity of the hash set.

◆ hasValue() [1/2]

template<class TYPE >
bool HashSet< TYPE >::HashSetImpl::hasValue ( const Value key)
inlinenoexcept

Returns true if the specified value is in the hash set.

◆ hasValue() [2/2]

template<class TYPE >
bool HashSet< TYPE >::HashSetImpl::hasValue ( const Value value) const
inlinenoexcept

Returns true if the specified value is in the hash set.

◆ remove()

template<class TYPE >
void HashSet< TYPE >::HashSetImpl::remove ( const Value value)
inline

Removes the specified value from the set.

◆ shrink()

template<class TYPE >
void HashSet< TYPE >::HashSetImpl::shrink ( )
inline

Reduces the capacity of the hash set.