This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

### 763. Renaming `emplace()` overloads

Section: 22.2.6 [associative.reqmts] Status: NAD Submitter: Sylvain Pion Opened: 2007-12-04 Last modified: 2016-01-28

Priority: Not Prioritized

View other active issues in [associative.reqmts].

View all other issues in [associative.reqmts].

View all issues with NAD status.

Discussion:

The associative containers provide 2 overloads of `emplace()`:

>     template <class... Args> pair<iterator, bool> emplace(Args&&... args);
>     template <class... Args> iterator emplace(const_iterator position, Args&&... args);

This is a problem if you mean the first overload while passing a `const_iterator` as first argument.

[ Related to 767 ]

[ Bellevue: ]

This can be disambiguated by passing "begin" as the first argument in the case when the non-default choice is desired. We believe that desire will be rare.

[For related discussion see 1302]

LWG N2680 renamed one of the overloads to `emplace_hint`.

Resolution: Change state to NAD.

Proposed resolution:

Rename one of the two overloads. For example to `emplace_here`, `hint_emplace`...