ConstructionType construction_type() const { return construction_type_impl(typename ::boost::is_class<T>::type()); }
ConstructionType construction_type() const { return construction_type_impl (typename ::boost::move_detail::integral_constant<bool, ::boost::move_detail::is_class_or_union<T>::value>()); }