Insert value if no equivalent key is present.

Synopsis

Declared in <bslstl_hashtable.h>

bslalg::BidirectionalLink*
insertIfMissing(
    bool* isInsertedFlag,
    ValueType const& value);

Description

Insert the specified value into this hash‐table if a key equivalent to that of value does not already exist in this hash‐table. Return the address of the (possibly newly inserted) element in this hash‐table whose key is equivalent to that of value. If this hash‐table contains more than one element with a matching key, return the first such element (from the contiguous sequence of elements having a matching key). Additional buckets are allocated, as needed, to preserve the invariant loadFactor <= maxLoadFactor. If this function tries to allocate a number of buckets larger than can be represented by this hash‐table's SizeType, a std::length_error exception is thrown. This method requires that the ValueType defined in the (template parameter) type KEY_CONFIG be copy‐insertable into this hash‐table (see {Requirements on KEY_CONFIG});

Return Value

address of the (possibly newly inserted) element with an equivalent key

Parameters

Name

Description

isInsertedFlag

set to true if a new entry was inserted

value

value to insert if missing

Created with MrDocs