...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< typename remove_reference< T >::type >::value, monomorphic::singleton< T > >::type make(T &&); template<typename C> std::enable_if< is_container_forward_iterable< C >::value, monomorphic::collection< C > >::type make(C &&); template<typename T, std::size_t size> monomorphic::array< typename boost::remove_const< T >::type > make(T(&)); monomorphic::singleton< char * > make(char *); monomorphic::singleton< char const * > make(char const *); template<typename T> monomorphic::init_list< T > make(std::initializer_list< T > &&); namespace monomorphic { template<typename DataSet> struct is_dataset; template<typename DataSet> struct is_dataset<DataSet &>; template<typename DataSet> struct is_dataset<DataSet const>; } namespace result_of { template<typename DataSet> struct make; } } } }