Quick Links: |
#include <bdlcc_stripedunorderedcontainerimpl.h>
This class represents a bucket of the hash map. This class template represents the head of in the singly-linked list of (KEY, VALUE)
elements in a hash map.
See Component bdlcc_stripedunorderedcontainerimpl
enum bdlcc::StripedUnorderedContainerImpl_Bucket::BucketScope |
bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::StripedUnorderedContainerImpl_Bucket | ( | bslma::Allocator * | basicAllocator = 0 |
) | [explicit] |
Create an empty bdlcc::StripedUnorderedContainerImpl_Bucket
object. Optionally specify a basicAllocator
used to supply memory. If basicAllocator
is 0, the currently installed default allocator is used.
bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::StripedUnorderedContainerImpl_Bucket | ( | bslmf::MovableRef< StripedUnorderedContainerImpl_Bucket< KEY, VALUE > > | original, | |
bslma::Allocator * | ||||
) |
Create a bdlcc::StripedUnorderedContainerImpl_Bucket
object having the same value as the specified original
object. The original
object is left in a valid but unspecified state.
bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::~StripedUnorderedContainerImpl_Bucket | ( | ) |
Destroy this object.
bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::BSLMF_NESTED_TRAIT_DECLARATION | ( | StripedUnorderedContainerImpl_Bucket< KEY, VALUE > | , | |
bslma::UsesBslmaAllocator | ||||
) |
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::addNode | ( | StripedUnorderedContainerImpl_Node< KEY, VALUE > * | nodePtr | ) |
Add the specified nodePtr
node at the end of this bucket.
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::clear | ( | ) |
Empty StripedUnorderedContainerImpl_Bucket
and delete all nodes.
StripedUnorderedContainerImpl_Node<KEY, VALUE>** bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::headAddress | ( | ) |
Return the address of the head (node) of this bucket list.
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::incrementSize | ( | int | amount | ) |
Increment the size
attribute of this bucket by the specified amount
.
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::setHead | ( | StripedUnorderedContainerImpl_Node< KEY, VALUE > * | value | ) |
Set the address of the head of this bucket list to the specified value
.
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::setSize | ( | bsl::size_t | value | ) |
Set the size
attribute of this bucket to the specified value
.
void bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::setTail | ( | StripedUnorderedContainerImpl_Node< KEY, VALUE > * | value | ) |
Set the pointer of the tail of this bucket list to the specified value
.
bsl::size_t bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::setValue | ( | const KEY & | key, | |
const EQUAL & | equal, | |||
const VALUE & | value, | |||
BucketScope | scope | |||
) |
Set the value attribute of the element in this bucket having the specified key
to the specified value
, using the specified equal
to compare keys. If no such element exists, insert (key, value)
. The behavior with respect to duplicate key values in the bucket depends on the specified scope
:
e_BUCKETSCOPE_ALL
: value
to every element in the bucket having key
.e_BUCKETSCOPE_FIRST
: value
to the first element found having key
.Return the number of elements found having key
that had their value set. Note that, when there are multiple elements having key
, the selection of "first" is unspecified and subject to change. Also note that specifying e_BUCKETSCOPE_FIRST
is more performant when there is a single element in the bucket having key
.
bsl::size_t bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::setValue | ( | const KEY & | key, | |
const EQUAL & | equal, | |||
bslmf::MovableRef< VALUE > | value | |||
) |
Set the value attribute of the element in this bucket having the specified key
to the specified value
, using the specified equal
to compare keys. If no such element exists, insert (key, value)
. If there are multiple elements in this hash map having key
then set the value of the first such element found. Return the number of elements found having key
that had their value set. Note that, when there are multiple elements having key
, the selection of "first" is unspecified and subject to change.
bool bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::empty | ( | ) | const |
Return true
if this bucket contains no elements, and false
otherwise.
StripedUnorderedContainerImpl_Node<KEY, VALUE>* bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::head | ( | ) | const |
Return the head (node) of this bucket list.
bsl::size_t bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::size | ( | ) | const |
Return the current number of elements in this bucket.
StripedUnorderedContainerImpl_Node<KEY, VALUE>* bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::tail | ( | ) | const |
Return address of the tail (node) of this bucket list.
bslma::Allocator* bdlcc::StripedUnorderedContainerImpl_Bucket< KEY, VALUE >::allocator | ( | ) | const |
Return the allocator used by StripedUnorderedContainerImpl_Bucket
to allocate memory.