
On Friday 11 January 2013 08:47:42 Larry Evans wrote:
On 01/11/13 08:18, Peter Dimov wrote:
I was thinking that after the move to the target variant, the source variant has its tag reset to something to indicate the current type is this default constructable type and that type would be empty. IOW, a default contructable something like:
special_type<nothing_id>
found here:
http://svn.boost.org/svn/boost/sandbox/variadic_templates/boost/composite_st orage/special_components.hpp
I vaugly remember that variant had a special support for type boost::blank that could be used as a fallback type for some operations. So if the variant has this type in the list of possible types the move operation could leave the source with boost::blank value. But that would only work if boost::blank was in the list.