Boost logo

Boost :

Subject: Re: [boost] [variant] Please vote for behavior
From: Dave Abrahams (dave_at_[hidden])
Date: 2013-01-25 19:08:09

on Fri Jan 25 2013, Krzysztof Czainski <> wrote:

> So to me the question is: should move introduce an "uninitialized" state
> for types that don't have one in the first place.

Only if you're willing to break code.

> Int has an uninitialized state. Iterators in std algorithms are
> allowed to have such a state too. And now we have moved-from objects
> - should they be allowed an additional "uninitialized" state? I
> answer yes, because moved-from objects must not be used for anything
> other than destruction or assignment-to.

The part after "because" is your assertion, but is not an absolute
truth. Furthermore, the destructor may depend on (e.g. check) the
invariant you've broken by introducing the "uninitialized" state.

Dave Abrahams
BoostPro Computing                  Software Development        Training             Clang/LLVM/EDG Compilers  C++  Boost

Boost list run by bdawes at, gregod at, cpdaniel at, john at