bsl::map<int, pair<shared_ptr<Statistics>, shared_ptr<Collector<OsLinux>>>>::try_emplace

try_emplace overloads

Synopses

Declared in <bslstl_map.h>

Same as the preceding try_emplace overload, for movable keys.

template<class... Args>
pair<iterator, bool>
try_emplace(
    BloombergLP::bslmf::MovableRef<int> key,
    Args&&... args);
» more...

If a key equivalent to the specified key already exists in this map, return a pair containing an iterator referring to the existing item and false. Otherwise, insert into this map a newly-created entry constructed from key and the specified args, and return a pair containing an iterator referring to the newly-created entry and true. This method requires that the (template parameter) types KEY and VALUE are emplace-constructible from key and args respectively. For C++03, VALUE must also be copy-constructible.

template<class... Args>
pair<iterator, bool>
try_emplace(
    int const& key,
    Args&&... args);
» more...

If a key equivalent to the specified key already exists in this map, return a pair containing an iterator referring to the existing item and false. Otherwise, insert into this map a newly-created entry constructed from key and the specified args, and return a pair containing an iterator referring to the newly-created entry and true. This overload participates in overload resolution only when LOOKUP_KEY is a transparent lookup key for COMPARATOR.

template<
    class LOOKUP_KEY,
    class... Args>
pair<iterator, bool>
try_emplace(
    LOOKUP_KEY&& key,
    Args&&... args)
requires BloombergLP::bslmf::IsTransparentPredicate<COMPARATOR,
                                                   LOOKUP_KEY>::value &&
        !bsl::is_convertible<LOOKUP_KEY&&, const_iterator>::value &&
        !bsl::is_convertible<LOOKUP_KEY&&, iterator>::value;
» more...

Insert at the specified hint using a movable key and the specified constructor args, or return an iterator to an existing entry.

template<class... Args>
iterator
try_emplace(
    const_iterator hint,
    BloombergLP::bslmf::MovableRef<int> key,
    Args&&... args);
» more...

If a key equivalent to the specified key already exists in this map, return an iterator referring to the existing item. Otherwise, insert into this map a newly-created value_type object, constructed from from key and the specified args, and return an iterator referring to the newly-created entry. Use the specified hint as a starting point for checking to see if the key already in the map. This method requires that the (template parameter) types KEY and VALUE are emplace-constructible from key and args respectively. For C++03, VALUE must also be copy-constructible.

template<class... Args>
iterator
try_emplace(
    const_iterator hint,
    int const& key,
    Args&&... args);
» more...

Insert at the specified hint using the transparent LOOKUP_KEY and the specified constructor args, or return an iterator to an existing entry.

template<
    class LOOKUP_KEY,
    class... Args>
iterator
try_emplace(
    const_iterator hint,
    LOOKUP_KEY&& key,
    Args&&... args)
requires BloombergLP::bslmf::IsTransparentPredicate<COMPARATOR,
                                                   LOOKUP_KEY>::value;
» more...