template<typename Type> struct optional_storage<Type, true> : public detail::mandatory<Type> { typedef typename detail::mandatory<Type>::type type; optional_storage(); optional_storage(const type &other); };