BloombergLP::bslstl::HashTable::insertIfMissing

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. value is left in a valid but unspecified state. 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 move-insertable into this hash-table (see {Requirements on KEY_CONFIG});

Synopsis

Declared in <bslstl_hashtable.h>

bslalg::BidirectionalLink*
insertIfMissing(
    bool* isInsertedFlag,
    bslmf::MovableRef<ValueType> value);