Emplace a value for a movable key if missing; otherwise return existing.
Declared in <bslstl_hashtable.h>
template<class... ARGS>
bslalg::BidirectionalLink*
tryEmplace(
bool* isInsertedFlag,
bslalg::BidirectionalLink* hint,
bslmf::MovableRef<NonConstKeyType> key,
ARGS&&... args);
If a key equivalent to the specified key already exists in this hash-table, 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 std::forward<KEY>(key) and the specified args, 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.
pointer to the existing or newly created entry
| Name | Description |
|---|---|
| isInsertedFlag | set to true if a new entry was inserted |
| hint | optional starting node for the key search |
| key | movable key used to find or insert an entry |
| args | arguments used to construct the mapped value |