
Robert Stewart wrote:
Given that, I have to agree with Fernando that initialize is merely a superset of value_initialize and can be harder to explain unless it derives from value_initialize (even if it shares nothing from the base and only makes clear that it is a superset).
Thanks, Robert. But do you mean public inheritance? You know, I once considered having initialized<T> publicly derived from value_initialized<T>: http://lists.boost.org/Archives/boost/2010/03/164356.php But then I realized that it would imply that any "initialized" object is also a value_initialized object. While certainly an initialized object does not need to be value-initialized. Therefor I think composition is preferable to public inheritance, in this case. I really don't see what's wrong about the patch I submitted, having value_initialized<T> containing a private initialized<T> data member: https://svn.boost.org/trac/boost/attachment/ticket/3472/initialized.patch Kind regards, Niels -- Niels Dekker http://www.xs4all.nl/~nd/dekkerware Scientific programmer at LKEB, Leiden University Medical Center