<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Feb 19, 2013, at 18:20 , David Blaikie <<a href="mailto:dblaikie@gmail.com">dblaikie@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Feb 19, 2013 at 6:15 PM, Jordan Rose <span dir="ltr"><<a href="mailto:jordan_rose@apple.com" target="_blank">jordan_rose@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This is awesome. I think you need to write a move constructor now too, though—otherwise you'll end up with two complete objects being destructed. (Consider Optional<std::string>.)<br>
</blockquote><div><br></div><div style="">I don't think I /need/ to write a move ctor, in the sense that the type won't get one for free (the conditions under which an implicit move ctor is provided are vanishingly rare) but it'd certainly be nice to have one.</div>
</div></div></div></blockquote><br></div><div>Ah, whoops, forgot about the "no user-declared copy-constructors" requirement. Downgrade this to a Nice to Have, then. :-)</div><div><br></div><div>Jordan</div><br></body></html>