On Sep 22, 5:27 pm, David Abrahams <d...@boostpro.com> wrote:
That's just move semantics AFAICT, which should be nonthrowing. If you
mean something else, please explain.
While ago I sent you "improving STL exception specifications" draft
(no offenses for lack of interest) with the following "observation":
Non throwing move constructor implies non throwing default constructor
given non throwing clear operation.
For example consider the following:
string str1("abc");
string str2 = std::move(str1); // no throw in current C++0x
str1.clear(); // str1 is now like default constructed string
Therefore non throwing default constructors seem quite important for
useful move semantics (e.g. standard containers).
Rani
BTW - I'm willing to share the paper if someone is interested.
Thanks! If you could share a link to it here, we could all benefit from it.
[ comp.lang.c++.moderated. First time posters: Do this! ]