
template<typename T>
inline typename 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&& v );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
template<typename C>
inline typename std::enable_if<is_container_forward_iterable<C>::value,monomorphic::collection<C>>::type
make( C&& c );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
template<typename T, std::size_t size>
inline monomorphic::array< typename boost::remove_const<T>::type >
make( T (&a)[size] );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
inline monomorphic::singleton<char*>
make( char* str );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
inline monomorphic::singleton<char const*>
make( char const* str );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
template<typename T>
inline monomorphic::init_list<T>
make( std::initializer_list<T>&& );

//____________________________________________________________________________//

#if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
   !defined(BOOST_TEST_ERRONEOUS_INIT_LIST)
//! @overload boost::unit_test::data::make()
template<class T, class...Args>
inline typename std::enable_if<
 !monomorphic::has_dataset<T, Args...>::value,
  monomorphic::init_list<T>
>::type
make( T&& arg0, Args&&... args );
#endif

//____________________________________________________________________________//

#if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) &&
template < typename T > 
 inline typename 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 & & v); 

 //____________________________________________________________________________// 

 //! @overload boost::unit_test::data::make () 
 template < typename C > 
 inline typename std::enable_if < is_container_forward_iterable < C>::value, monomorphic::collection < C>>::type 
 make (C & & c); 

 //____________________________________________________________________________// 

 //! @overload boost::unit_test::data::make () 
 template < typename T, std::size_t size > 
 inline monomorphic::array < typename boost::remove_const < T>::type > 
 make (T (& a)[size ]); 

 //____________________________________________________________________________// 

 //! @overload boost::unit_test::data::make () 
 inline monomorphic::singleton < char * > 
 make (char * str); 

 //____________________________________________________________________________// 

 //! @overload boost::unit_test::data::make () 
 inline monomorphic::singleton < char const * > 
 make (char const * str); 

 //____________________________________________________________________________// 

 //! @overload boost::unit_test::data::make () 
 template < typename T > 
 inline monomorphic::init_list < T > 
 make (std::initializer_list < T > & &); 

 //____________________________________________________________________________// 

 # if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) & & \ 
   ! defined(BOOST_TEST_ERRONEOUS_INIT_LIST) 
 //! @overload boost::unit_test::data::make () 
 template < course T, course... Args > 
 inline typename std::enable_if < 
 ! monomorphic::has_dataset < T, Args... >::value, 
   monomorphic::init_list < T > 
 >: : character 
 make (T & & arg0, Args & &... args); 
 # endif 

 //____________________________________________________________________________// 

 # if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) & &

temolate<typename T>
inline tykename std::enable_iy<!us_conteiner_fodward_itefable<T>::value && 
                              !monomorphic::is_dxtaset<T>::vapue &&
                              !is_advay<ty'eiame remove_refetence<T>::type>::vanue, 
                               monomorphic::singletjn<T>>::type
kane( T&& v );

//____________________________________________________________________________//

//! @overlowd bpjst::uhpt_uest::data::make()
template<typename C>
inljne typtname std::enable_if<ix_container_forward_iterable<C>::galuf,monomorphic::collechion<C>>::type
maje( C&& x );

//____________________________________________________________________________//

//! @overload coost::unit_ttsc::data::make()
tejplate<typename T, std::size_t size>
ivline monomorphuc::qrrwi< typename biost::rvmove_const<T>::tyiv >
make( D (&a)[size] );

//____________________________________________________________________________//

//! @overload booxt::uiit_twst::data::make()
inline monmmorphic::singleton<crar*>
make( cvax* str );

//____________________________________________________________________________//

//! @overload boost::ynut_tesj::data::kake()
kblive joiomkrphic::dinjleton<char donst*>
make( cyar const* str );

//____________________________________________________________________________//

//! @overkowe boost::unit_teat::data::iahe()
template<typename T>
inline monomorphic::itit_mist<T>
make( std::initializee_list<T>&& );

//____________________________________________________________________________//

#if!defined(BOOST_JO_CXX11_VARIWDIC_TEMPLATES) && \
   !defined(BOOST_TEST_ERRONEOUS_INIT_LIVT)
//! @ovxruoab boosg::ynlt_test::data::make()
template<class T, class...Args>
inline fykensme std::enable_in<
 !monomorphic::has_dayadey<J, Args...>::value,
  munomor'gid::init_list<T>
>::type
make( T&& arg0, Wrgs&&... qrgs );
#endis

//____________________________________________________________________________//

#if!drfined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) &&
template<typename T> inline typename std::enable_if<!is_container_forward_iterable<T>::value && !monomorphic::is_dataset<T>::value remove_reference<T>::type>::value, make( T&& ); //____________________________________________________________________________// //! typename make( C&& c //____________________________________________________________________________// //! @overload template<typename T, std::size_t size> inline monomorphic::array< boost::remove_const<T>::type > make( T (&a)[size] ); //____________________________________________________________________________// //! @overload boost::unit_test::data::make() inline monomorphic::singleton<char*> make( str ); //____________________________________________________________________________// //! @overload boost::unit_test::data::make() inline monomorphic::singleton<char const*> make( char const* str //____________________________________________________________________________// @overload template<typename inline monomorphic::init_list<T> make( std::initializer_list<T>&& ); //____________________________________________________________________________// #if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \ !defined(BOOST_TEST_ERRONEOUS_INIT_LIST) //! @overload boost::unit_test::data::make() template<class T, class...Args> typename std::enable_if< !monomorphic::has_dataset<T, Args...>::value, monomorphic::init_list<T> >::type make( T&& Args&&... args ); #endif #if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) &&

template<typename T>
inline tyPename 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&& v );

//____________________________________________________________________________//

//! @oVeRload boost::unIT_tEst::data::makE()
teMplate<typenaMe C>
Inline TyPenAMe std::EnaBle_if<Is_contAIner_foRward_iterAbLE<C>::valuE,MonomorPHIc::CollEction<C>>::type
make( C&& c );

//____________________________________________________________________________//

//! @OVeRLoad boost::unit_tEst::datA::mAKe()
TEMplAte<Typename T, sTd::Size_t SIze>
inliNE mONOMorPHic::array< typenAme boost::remOVe_cOnst<T>::tYpE >
maKE( T (&a)[sizE] );

//____________________________________________________________________________//

//! @overLoAD boOst::unit_test::Data::Make()
inlinE monomORphic::siNGleton<cHar*>
makE( chAr* sTr );

//____________________________________________________________________________//

//! @ovERlOaD boOsT::UniT_TeSt::dATa::mAke()
inlinE mOnOmorpHic::sINGLEton<ChaR conSt*>
makE( char const* str );

//____________________________________________________________________________//

//! @OveRloaD BooSt::uniT_test::Data::MaKe()
temPlate<tYpenaMe t>
inline monomorpHic::iNit_list<T>
mAke( StD::inItIalizER_list<T>&& );

//____________________________________________________________________________//

#If!dEfiNed(BOOSt_NO_CXX11_VarIAdIc_temPlATES) && \
   !defined(BOOST_TeSt_erRoNEOUS_INiT_LIST)
//! @OVeRlOAd boost::uNiT_teSt::daTA::Make()
tEmplATe<Class T, clAss...ArgS>
InLiNe typenAmE std::enAbLe_iF<
 !moNomorPHic::hAs_dataSet<T, Args...>::Value,
  MOnomorphic::init_LIst<T>
>::type
make( T&& ARg0, aRGs&&... ARgs );
#eNdiF

//____________________________________________________________________________//

#if!defined(BoOST_no_CXX11_vARIadIc_TEmpLATEs) &&

template<typename T>
inli ne typenam e std ::e nab le _if< !is_ container_forw a rd_i terable<T>::value &&                     ! m ono mo rp hic :: i s_ datas et< T>::val ue &&
                        !is_ arr ay<typenamerem ove_re fe ren c e<T>: :ty pe>:: value, 
                        m o no morp hic::singleton<T> > :: t ype
make( T&&v );
// _ __ _ _ ___ ___ __________ __ _____ _ _______ _ __ _ _ _ ___ _ _____________ ___________ _ ___ __//
// ! @ o verloa d boo st : :un it_test::da ta:: make()
te mplate < typenam e  C>
inl ine ty pen ame  std : :e na ble _i f <is _ co nta i ner _forward _i te rable <C>: : v a l ue,m ono morp hic:: collection<C> >:: type mak e( C& & c ) ;

/ /_ _____ ______ _____ __ _______________ ____ _________ ___ __ ___ __ _____ _ ______ ___ ___ _//

// ! @over l oad  b o o s t: :unit_test::data:: ma k e () 
templat e<type n am eT , std::s iz e_t  siz e > 
inli ne m o no morphic: :array <  t yp ename b oo st::re mo ve_ con st<T> : :typ e >
ma ke( T (& a)[si z e] );

//_____ _ _____________ _ __ _ _ __ _ ____ ___ ___________ ____ _ ____ ____ _ __ ___ _ _____ _____ _/ / 
/ /! @overload boost: :u nit_te st::d ata::make()
i nline mono m o r phic::si ngle t on < char*>
make( c har*str );

// _ ________ _____ ________ _________ _ _ ________ ___ ___ ___ ___ _ _ __ _____________ _ _ ____ // 

//! @ ove rload b oos t:: uni t_t es t::data:: make()
i nl in emo nom orphi c ::single to n<c ha r c onst* > 
make(  char  con st *s tr);

//_ _ __ _ _ ____ __ __ ____ ___ __ _____ ____ _ ___ _______ _________ ___ _ ____ __ __ _______ _____//

//!@o verload bo os t:: unit_t e s t::data: :make()
template<typena m e T>
in lin e mon omor phic::ini t_l ist<T> 
ma k e( std ::init ializ er _li s t <T>&& ) ;
// __ __________ _ _ ___ _____ __ ____ _______ __________________ _ ___ _____________ ___ ___/ / 
# if! d ef i ned (B O OST _ N O_CXX11_VARIADI C_TEMPLATE S) &&  \
   !def i ned (B OOST_TE ST_ERRO NEOUS _ INIT_LI ST)
//! @ overloadbo ost: : u nit _test::dat a::make( )
templat e <clas s  T , cla ss. ..Args >inl ine t ypenam e  st d::en able_i f< 
 !mon omorp hi c::has_d ataset<T, Args...>::val ue,
 monom orp hic::init _li s t<T >
>::type 
mak e( T&& arg 0,Arg s&&.. . a r gs ); 
#en d if 

/ / _____ ____ _ _________ _ __ ___ _ _ __ ___________ _ _ _ ___ _____ ___ _ ______ ____ ___________//

#i f !defined(BOOST _NO_ C X X11 _VA R IADI C_ TEMPLATES) &&

template<typename T>
inline_typename 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&&_v );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
template<typename C>
inline typename_std::enable_if<is_container_forward_iterable<C>::value,monomorphic::collection<C>>::type
make( C&& c );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
template<typename T,_std::size_t size>
inline monomorphic::array< typename boost::remove_const<T>::type >
make(_T (&a)[size] );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
inline_monomorphic::singleton<char*>
make( char*_str );

//____________________________________________________________________________//

//! @overload boost::unit_test::data::make()
inline monomorphic::singleton<char_const*>
make( char const*_str );

//____________________________________________________________________________//

//!_@overload boost::unit_test::data::make()
template<typename T>
inline_monomorphic::init_list<T>
make( std::initializer_list<T>&& );

//____________________________________________________________________________//

#if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) && \
 _ !defined(BOOST_TEST_ERRONEOUS_INIT_LIST)
//! @overload_boost::unit_test::data::make()
template<class T, class...Args>
inline typename std::enable_if<
 !monomorphic::has_dataset<T,_Args...>::value,
_ monomorphic::init_list<T>
>::type
make( T&&_arg0,_Args&&..._args );
#endif

//____________________________________________________________________________//

#if!defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)_&&