...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Forward declares monomorphic datasets interfaces.
namespace boost { namespace unit_test { namespace data { template<typename DataSet> std::enable_if< monomorphic::is_dataset< DataSet >::value, DataSet >::type make(DataSet &&); template<typename T> std::enable_if<!is_container_forward_iterable< T >::value &&!monomorphic::is_dataset< T >::value &&!is_array< typenameremove_reference< T >::type >::value, monomorphic::singleton< T > >::type make(T && v); namespace monomorphic { template<typename DataSet, class...> struct has_dataset; template<typename DataSet0, typename DataSet1, class... DataSetTT> struct has_dataset<DataSet0, DataSet1, DataSetTT...>; template<typename DataSet> struct is_dataset; template<typename DataSet> struct is_dataset<DataSet &>; template<typename DataSet> struct is_dataset<DataSet &&>; template<typename DataSet> struct is_dataset<DataSet const>; } namespace result_of { template<typename DataSet> struct make; } } } }