bsl::set::emplace_hint

Insert into this set a newly created value_type object, constructed by forwarding get_allocator() (if required) and the specified (variable number of) arguments to the corresponding constructor of value_type, (in amortized constant time if the specified hint is a valid immediate successor to the value_type object constructed from arguments), if a key equivalent to such a value does not already exist in this set; otherwise, this method has no effect (other than possibly creating a temporary value_type object). Return an iterator referring to the (possibly newly created and inserted) object in this set whose value is equivalent to that of an object constructed from arguments. If hint is not a valid immediate successor to the value_type object implied by arguments, this operation has O[log(N)] complexity where N is the size of this set. This method requires that the (template parameter) type KEY be emplace-constructible from arguments (see {Requirements on KEY}). The behavior is undefined unless hint is an iterator in the range [begin() .. end()] (both endpoints included).

Synopsis

Declared in <bslstl_set.h>

template<class... Args>
set<KEY, COMPARATOR, ALLOCATOR>::iterator
emplace_hint(
    const_iterator hint,
    Args&&... arguments);