If there is no key-value pair associated with the specified key in a given jss::concurrent_map
object, construct a new one from the specified key
and data.
template<typename KT,typename DT> std::pair<iterator,bool> emplace(KT && key,DT && data);
Construct a new key-value pair for the specified key as value_type(std::forward<KT>(key),std::forward<DT>(data)). Insert that pair into the map
if and only if there is no such entry already in the map after
constructing the new object. If the new object is not inserted
into the map then it is destroyed.
A pair of an iterator
and a bool. The iterator
refers to either the newly-inserted object or the pre-existing
object with the specified key,
and the bool value
is true if a new value
was inserted, otherwise false.
std::bad_alloc if memory for the new
entry cannot be allocated. Any exception thrown by the construction
of the new value_type
object from key
and data. Any exception
thrown by the application of the Hasher
or KeyEquals objects.
emplace()
may be called concurrently with any other member function of jss::concurrent_map on a given instance
(except for the constructor and destructor) without external synchronization.
#include <jss/concurrent_map.hpp>