template<class T> class value_initialized
{
public:
value_initialized();
// Proposed by Edward Diener at
// https://svn.boost.org/trac/boost/attachment/ticket/3472/value_init.patch
explicit value_initialized(T const & arg);
};
class my_integer
{
value_initialized<int> m_data;
public:
operator value_initialized<int>() const;
operator int() const;
};
int main()
{
my_integer my;
value_initialized<int> val(my);
}