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<TimeInterval> key,
    Args&&... args);

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(
    TimeInterval const& key,
    Args&&... args);

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;

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<TimeInterval> key,
    Args&&... args);

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,
    TimeInterval const& key,
    Args&&... args);

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;

Created with MrDocs