std::in_place_t and friends in C++17 : <p>As of the time of writing, cppreference gives a <a href="http://en.cppreference.com/w/cpp/utility/in_place" rel="noreferrer">reasonably simple definition</a> of the <code>std::in_place_t</code> family:</p>

<pre><code>struct in_place_t {
    explicit in_place_t() = default;
};
inline constexpr std::in_place_t in_place{};

template &lt;class T&gt;
struct in_place_type_t {
    explicit in_place_type_t() = default;
};

template &lt;class T&gt;
inline constexpr std::in_place_type_t&lt;T&gt; in_place_type{};

template &lt;size_t I&gt; struct in_place_index_t {
    explicit in_place_index_t() = default;
};

template &lt;size_t I&gt;
inline constexpr in_place_index_t&lt;I&gt; in_place_index{};
</code></pre>

<p>However, the latest draft of the C++17 standard <a href="http://open-std.org/JTC1/SC22/WG21/docs/papers/2016/n4606.pdf" rel="noreferrer">linked from isocpp.org</a> has a rather more complicated definition (section 20.2.7, page 536):</p>

<pre><code>struct in_place_tag {
    in_place_tag() = delete;
};
using in_place_t = in_place_tag(&amp;)(unspecified );

template &lt;class T&gt;
using in_place_type_t = in_place_tag(&amp;)(unspecified &lt;T&gt;);

template &lt;size_t I&gt;
using in_place_index_t = in_place_tag(&amp;)(unspecified &lt;I&gt;);

in_place_tag in_place(unspecified );

template &lt;class T&gt;
in_place_tag in_place(unspecified &lt;T&gt;);

template &lt;size_t I&gt;
in_place_tag in_place(unspecified &lt;I&gt;);
</code></pre>

<p>The first version is simple and easy to understand, but second version is quite opaque to me. So, questions:</p>

<ul>
<li><p>Which version is correct, post-Issaqua (November 2016)? (Presumably the second, but it's possible that N4606 hasn't yet been updated after the latest meeting and cppreference has.)</p></li>
<li><p>Clearly this has changed at some point in time; does anyone have a link to a paper mentioning the change?</p></li>
<li><p>Most importantly, can anyone explain how the second version is intended to work? What would a sample implementation look like?</p></li>
</ul>
