Insert or assign a mapped value for a transparent key.

Synopsis

Declared in <bslstl_hashtable.h>

template<
    class LOOKUP_KEY,
    class BDE_OTHER_TYPE>
bslalg::BidirectionalLink*
insertOrAssignTransparent(
    bool* isInsertedFlag,
    bslalg::BidirectionalLink* hint,
    LOOKUP_KEY&& key,
    BDE_OTHER_TYPE&& obj)
requires BloombergLP::bslmf::IsTransparentPredicate<HASHER,    LOOKUP_KEY>::value
   && BloombergLP::bslmf::IsTransparentPredicate<COMPARATOR,LOOKUP_KEY>::value;

Description

If a key equivalent to the specified key already exists in this hash‐table, assign the specified obj to the value associated with that key, load false into the specified isInsertedFlag and return a pointer to the existing entry. Otherwise, insert into this hash‐table a newly‐created value_type object, constructed from key and obj, load true into isInsertedFlag, and return a pointer to the newly‐created entry. Use the optionally specified hint as a starting place for the search for the existing key.

Return Value

pointer to the existing or newly created entry

Parameters

Name

Description

isInsertedFlag

set to true if a new entry was inserted

hint

optional starting node for the key search

key

transparent key to insert or assign

obj

mapped value to insert or assign

Created with MrDocs