<div dir="auto"><div><div class="gmail_extra"><div class="gmail_quote">On 9 Oct 2017 09:08, &quot;Nelson, Clark&quot; &lt;<a href="mailto:clark.nelson@intel.com">clark.nelson@intel.com</a>&gt; wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="quoted-text">&gt; After a while pondering, the best example I&#39;ve got to demonstrate a<br>
&gt; need for the feature test macro is something like this:<br>
&gt;<br>
&gt; #ifdef __cpp_mandatory_copy_elision<br>
&gt;<br>
&gt; NoCopyNoMove indirectFactory() {<br>
&gt;   return factory(1); // ill-formed prior to C++17<br>
&gt; }<br>
&gt; #endif<br>
<br>
</div>At this point I gather that no one has an objection to providing a macro for mandatory copy elision.<br></blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">I think that&#39;s correct.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Should SD-6 contain an example like this one? It seems to me that there ought to be a different definition of indirectFactory under an #else, but I don&#39;t know what it should look like.</blockquote></div></div></div><div dir="auto"><br></div><div dir="auto">For this example, depending on the intent of the library author it may be impossible to provide an alternate definition. The feature test macro allows this portion of the interface to be omitted if it&#39;s nonessential.</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><font color="#888888">
Clark<br>
</font></blockquote></div><br></div></div></div>