Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r81139 - in trunk/boost/test: data data/monomorphic data/monomorphic/generators utils
From: gennadiy.rozental_at_[hidden]
Date: 2012-11-01 18:30:53


Author: rogeeff
Date: 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
New Revision: 81139
URL: http://svn.boost.org/trac/boost/changeset/81139

Log:
gcc 4.7 version of data test case subsystem
Removed:
   trunk/boost/test/utils/pp_variadic.hpp
Text files modified:
   trunk/boost/test/data/monomorphic/array.hpp | 3 +
   trunk/boost/test/data/monomorphic/collection.hpp | 3 +
   trunk/boost/test/data/monomorphic/dataset.hpp | 68 ++++-----------------------------------
   trunk/boost/test/data/monomorphic/generate.hpp | 1
   trunk/boost/test/data/monomorphic/generators/random.hpp | 4 +
   trunk/boost/test/data/monomorphic/generators/xrange.hpp | 2
   trunk/boost/test/data/monomorphic/grid.hpp | 36 ++++++++++++--------
   trunk/boost/test/data/monomorphic/join.hpp | 36 ++++++++++++--------
   trunk/boost/test/data/monomorphic/singleton.hpp | 8 ++-
   trunk/boost/test/data/monomorphic/zip.hpp | 44 +++++++++++++++----------
   trunk/boost/test/data/test_case.hpp | 20 +++++------
   trunk/boost/test/utils/named_params.hpp | 9 +---
   12 files changed, 102 insertions(+), 132 deletions(-)

Modified: trunk/boost/test/data/monomorphic/array.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/array.hpp (original)
+++ trunk/boost/test/data/monomorphic/array.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -36,6 +36,7 @@
 template<typename T>
 class array : public monomorphic::dataset<T> {
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         // Constructor
@@ -50,7 +51,7 @@
 
     private:
         // Data members
- typename T const* m_it;
+ T const* m_it;
         bool m_singleton;
     };
 

Modified: trunk/boost/test/data/monomorphic/collection.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/collection.hpp (original)
+++ trunk/boost/test/data/monomorphic/collection.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -37,6 +37,7 @@
     typedef typename std::decay<C>::type col_type;
     typedef typename col_type::value_type T;
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         // Constructor
@@ -52,7 +53,7 @@
     private:
         // Data members
         typename col_type::const_iterator m_iter;
- bool m_singleton;
+ bool m_singleton;
     };
 
 public:

Modified: trunk/boost/test/data/monomorphic/dataset.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/dataset.hpp (original)
+++ trunk/boost/test/data/monomorphic/dataset.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -18,11 +18,12 @@
 // Boost.Test
 #include <boost/test/data/config.hpp>
 #include <boost/test/data/size.hpp>
+#include <boost/test/data/monomorphic/fwd.hpp>
 
 // STL
-#include <vector>
-#include <list>
 #include <tuple>
+#include <memory>
+#include <stdexcept>
 
 #include <boost/test/detail/suppress_warnings.hpp>
 
@@ -62,7 +63,7 @@
     static void
     invoke_action( ref_type arg, Action const& action )
     {
- action( get<0>(arg), get<1>(arg) );
+ action( std::get<0>(arg), std::get<1>(arg) );
     }
 };
 
@@ -77,7 +78,7 @@
     static void
     invoke_action( ref_type arg, Action const& action )
     {
- action( get<0>(arg), get<1>(arg), get<2>(arg) );
+ action( std::get<0>(arg), std::get<1>(arg), std::get<2>(arg) );
     }
 };
 
@@ -113,41 +114,9 @@
     virtual iter_ptr begin() const = 0;
 };
 
-// ************************************************************************** //
-// ************** monomorphic::is_dataset ************** //
-// ************************************************************************** //
-
-template<typename DS>
-struct is_dataset : std::false_type {};
-
-//____________________________________________________________________________//
-
-template<typename DS>
-struct is_dataset<DS&> : is_dataset<DS> {};
-
-//____________________________________________________________________________//
-
-template<typename DS>
-struct is_dataset<DS const> : is_dataset<DS> {};
-
-//____________________________________________________________________________//
-
 } // namespace monomorphic
 
 // ************************************************************************** //
-// ************** data::make ************** //
-// ************************************************************************** //
-
-template<typename DS>
-inline typename std::enable_if<monomorphic::is_dataset<DS>::value,DS>::type
-make(DS&& ds)
-{
- return std::move( ds );
-}
-
-//____________________________________________________________________________//
-
-// ************************************************************************** //
 // ************** for_each_sample ************** //
 // ************************************************************************** //
 
@@ -172,8 +141,8 @@
 
 template<typename SampleType, typename Action>
 inline typename std::enable_if<!monomorphic::is_dataset<SampleType>::value,void>::type
-for_each_sample( SampleType const& samples,
- Action const& act,
+for_each_sample( SampleType const& samples,
+ Action const& act,
                  data::size_t number_of_samples = BOOST_TEST_DS_INFINITE_SIZE )
 {
     data::for_each_sample( data::make( samples ), act, number_of_samples );
@@ -181,29 +150,6 @@
 
 //____________________________________________________________________________//
 
-namespace ds_detail {
-
-// ************************************************************************** //
-// ************** is_std_collection ************** //
-// ************************************************************************** //
-
-template<typename T>
-struct is_std_collection : std::false_type {};
-
-template<typename T>
-struct is_std_collection<T const> : is_std_collection<T> {};
-
-template<typename T>
-struct is_std_collection<T&> : is_std_collection<T> {};
-
-template<typename T>
-struct is_std_collection<std::vector<T>> : std::true_type {};
-
-template<typename T>
-struct is_std_collection<std::list<T>> : std::true_type {};
-
-} // namespace ds_detail
-
 } // namespace data
 } // namespace unit_test
 } // namespace boost

Modified: trunk/boost/test/data/monomorphic/generate.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/generate.hpp (original)
+++ trunk/boost/test/data/monomorphic/generate.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -37,6 +37,7 @@
 class generated_by : public monomorphic::dataset<typename Generator::data_type> {
     typedef typename Generator::data_type T;
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         // Constructor

Modified: trunk/boost/test/data/monomorphic/generators/random.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/generators/random.hpp (original)
+++ trunk/boost/test/data/monomorphic/generators/random.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -134,7 +134,9 @@
     typedef typename Gen::distr_type distr_type;
     typedef typename Gen::engine_type engine_type;
 
- engine_type E((std::random_device()()));
+ std::random_device rd;
+ engine_type E;
+// engine_type E( rd );
     if( params.has(engine) )
         E = params[engine];
 

Modified: trunk/boost/test/data/monomorphic/generators/xrange.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/generators/xrange.hpp (original)
+++ trunk/boost/test/data/monomorphic/generators/xrange.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -101,7 +101,7 @@
             BOOST_TEST_DS_ASSERT( (step_val < 0) ^ (begin_val < *end_val), "Invalid step direction" );
 
             SampleType abs_distance = step_val < 0 ? begin_val - *end_val : *end_val-begin_val;
- StepType abs_step = make_xrange::abs(step_val, (boost::is_unsigned<StepType>::type*)0 );
+ StepType abs_step = make_xrange::abs(step_val, (typename boost::is_unsigned<StepType>::type*)0 );
             std::size_t s = static_cast<std::size_t>(abs_distance/abs_step);
 
             if( static_cast<SampleType>(s*abs_step) < abs_distance )

Modified: trunk/boost/test/data/monomorphic/grid.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/grid.hpp (original)
+++ trunk/boost/test/data/monomorphic/grid.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -95,6 +95,7 @@
 
     typedef typename ds_detail::grid_traits<T1,T2>::type T;
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         typedef typename monomorphic::traits<T>::ref_type ref_type;
@@ -161,19 +162,22 @@
 
 //____________________________________________________________________________//
 
-namespace ds_detail {
+namespace result_of {
 
-template<typename DS1, typename DS2>
-struct explicit_grid_type
+template<typename DS1Gen, typename DS2Gen>
+struct grid
 {
- typedef grid<DS1,DS2> type;
+ typedef monomorphic::grid<typename DS1Gen::type,typename DS2Gen::type> type;
 };
 
-} // ds_detail
+} // namespace result_of
+
+//____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline typename boost::lazy_enable_if<mpl::and_<is_dataset<DS1>,is_dataset<DS2>>,
- ds_detail::explicit_grid_type<DS1,DS2>>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::grid<mpl::identity<DS1>,mpl::identity<DS2>>
+>::type
 operator*( DS1&& ds1, DS2&& ds2 )
 {
     BOOST_TEST_DS_ASSERT( !ds1.size().is_inf() && !ds2.size().is_inf(), "Grid dimension can't have infinite size" );
@@ -184,21 +188,23 @@
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator*( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<is_dataset<DS1>::value && !is_dataset<DS2>::value, decltype(ds1 * data::make(ds2))>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && !is_dataset<DS2>::value,
+ result_of::grid<mpl::identity<DS1>,data::result_of::make<DS2>>
+>::type
+operator*( DS1&& ds1, DS2&& ds2 )
 {
- return ds1 * data::make(ds2);
+ return std::forward<DS1>(ds1) * data::make(std::forward<DS2>(ds2));
 }
 
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator*( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<!is_dataset<DS1>::value && is_dataset<DS2>::value, decltype(data::make(ds1) * ds2)>::type
+inline typename boost::lazy_enable_if_c<!is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::grid<data::result_of::make<DS1>,mpl::identity<DS2>>
+>::type
+operator*( DS1&& ds1, DS2&& ds2 )
 {
- return data::make(ds1) * ds2;
+ return data::make(std::forward<DS1>(ds1)) * std::forward<DS2>(ds2);
 }
 
 //____________________________________________________________________________//

Modified: trunk/boost/test/data/monomorphic/join.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/join.hpp (original)
+++ trunk/boost/test/data/monomorphic/join.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -40,6 +40,7 @@
 class join : public monomorphic::dataset<typename std::decay<DS1>::type::data_type> {
     typedef typename std::decay<DS1>::type::data_type T;
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         // Constructor
@@ -94,19 +95,22 @@
 
 //____________________________________________________________________________//
 
-namespace ds_detail {
+namespace result_of {
 
-template<typename DS1, typename DS2>
-struct explicit_join_type
+template<typename DS1Gen, typename DS2Gen>
+struct join
 {
- typedef join<DS1,DS2> type;
+ typedef monomorphic::join<typename DS1Gen::type,typename DS2Gen::type> type;
 };
 
-} // ds_detail
+} // namespace result_of
+
+//____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline typename boost::lazy_enable_if<mpl::and_<is_dataset<DS1>,is_dataset<DS2>>,
- ds_detail::explicit_join_type<DS1,DS2>>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::join<mpl::identity<DS1>,mpl::identity<DS2>>
+>::type
 operator+( DS1&& ds1, DS2&& ds2 )
 {
     return join<DS1,DS2>( std::forward<DS1>( ds1 ), std::forward<DS2>( ds2 ) );
@@ -115,21 +119,23 @@
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator+( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<is_dataset<DS1>::value && !is_dataset<DS2>::value, decltype(ds1 + data::make(ds2))>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && !is_dataset<DS2>::value,
+ result_of::join<mpl::identity<DS1>,data::result_of::make<DS2>>
+>::type
+operator+( DS1&& ds1, DS2&& ds2 )
 {
- return ds1 + data::make(ds2);
+ return std::forward<DS1>(ds1) + data::make(std::forward<DS2>(ds2));
 }
 
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator+( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<!is_dataset<DS1>::value && is_dataset<DS2>::value, decltype(data::make(ds1) + ds2)>::type
+inline typename boost::lazy_enable_if_c<!is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::join<data::result_of::make<DS1>,mpl::identity<DS2>>
+>::type
+operator+( DS1&& ds1, DS2&& ds2 )
 {
- return data::make(ds1) + ds2;
+ return data::make(std::forward<DS1>(ds1)) + std::forward<DS2>(ds2);
 }
 
 //____________________________________________________________________________//

Modified: trunk/boost/test/data/monomorphic/singleton.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/singleton.hpp (original)
+++ trunk/boost/test/data/monomorphic/singleton.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -35,15 +35,17 @@
 // Models single element data set
 
 template<typename T>
-class singleton : public monomorphic::dataset<T> {
- typedef monomorphic::dataset<T> base;
+class singleton : public monomorphic::dataset<typename std::decay<T>::type> {
+ typedef monomorphic::dataset<typename std::decay<T>::type> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         // Constructor
         explicit iterator( singleton<T> const& owner ) : m_owner( owner ) {}
 
         // forward iterator interface
- virtual T const& operator*() { return m_owner.value(); }
+ virtual typename base::data_type const&
+ operator*() { return m_owner.value(); }
         virtual void operator++() {}
 
     private:

Modified: trunk/boost/test/data/monomorphic/zip.hpp
==============================================================================
--- trunk/boost/test/data/monomorphic/zip.hpp (original)
+++ trunk/boost/test/data/monomorphic/zip.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -52,11 +52,11 @@
 struct zip_traits<T1,std::tuple<T2,T3>> {
     typedef std::tuple<T1,T2,T3> type;
     typedef typename monomorphic::traits<type>::ref_type ref_type;
-
+
     static ref_type
     tuple_merge(T1 const& a1, std::tuple<T2 const&,T3 const&> const& a2)
     {
- return ref_type(a1,get<0>(a2),get<1>(a2));
+ return ref_type(a1,std::get<0>(a2),std::get<1>(a2));
     }
 };
 
@@ -70,7 +70,7 @@
     static ref_type
     tuple_merge(std::tuple<T1 const&,T2 const&> const& a1, T3 const& a2)
     {
- return ref_type(get<0>(a1),get<1>(a1),a2);
+ return ref_type(std::get<0>(a1),std::get<1>(a1),a2);
     }
 };
 
@@ -93,6 +93,7 @@
 
     typedef typename ds_detail::zip_traits<T1,T2>::type T;
     typedef monomorphic::dataset<T> base;
+ typedef typename base::iter_ptr iter_ptr;
 
     struct iterator : public base::iterator {
         typedef typename monomorphic::traits<T>::ref_type ref_type;
@@ -169,19 +170,26 @@
     BOOST_TEST_DS_ERROR( "Can't zip datasets of different sizes" );
 }
 
+} // namespace ds_detail
+
 //____________________________________________________________________________//
 
-template<typename DS1, typename DS2>
-struct explicit_zip_type
+namespace result_of {
+
+template<typename DS1Gen, typename DS2Gen>
+struct zip
 {
- typedef zip<DS1,DS2> type;
+ typedef monomorphic::zip<typename DS1Gen::type,typename DS2Gen::type> type;
 };
 
-} // ds_detail
+} // namespace result_of
+
+//____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline typename boost::lazy_enable_if<mpl::and_<is_dataset<DS1>,is_dataset<DS2>>,
- ds_detail::explicit_zip_type<DS1,DS2>>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::zip<mpl::identity<DS1>,mpl::identity<DS2>>
+>::type
 operator^( DS1&& ds1, DS2&& ds2 )
 {
     return zip<DS1,DS2>( std::forward<DS1>( ds1 ), std::forward<DS2>( ds2 ), ds_detail::zip_size( ds1, ds2 ) );
@@ -190,21 +198,23 @@
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator^( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<is_dataset<DS1>::value && !is_dataset<DS2>::value, decltype(ds1 ^ data::make(ds2))>::type
+inline typename boost::lazy_enable_if_c<is_dataset<DS1>::value && !is_dataset<DS2>::value,
+ result_of::zip<mpl::identity<DS1>,data::result_of::make<DS2>>
+>::type
+operator^( DS1&& ds1, DS2&& ds2 )
 {
- return ds1 ^ data::make(ds2);
+ return std::forward<DS1>(ds1) ^ data::make(std::forward<DS2>(ds2));
 }
 
 //____________________________________________________________________________//
 
 template<typename DS1, typename DS2>
-inline auto
-operator^( DS1&& ds1, DS2&& ds2 ) ->
-typename std::enable_if<!is_dataset<DS1>::value && is_dataset<DS2>::value, decltype(data::make(ds1) ^ ds2)>::type
+inline typename boost::lazy_enable_if_c<!is_dataset<DS1>::value && is_dataset<DS2>::value,
+ result_of::zip<data::result_of::make<DS1>,mpl::identity<DS2>>
+>::type
+operator^( DS1&& ds1, DS2&& ds2 )
 {
- return data::make(ds1) ^ ds2;
+ return data::make(std::forward<DS1>(ds1)) ^ std::forward<DS2>(ds2);
 }
 
 //____________________________________________________________________________//

Modified: trunk/boost/test/data/test_case.hpp
==============================================================================
--- trunk/boost/test/data/test_case.hpp (original)
+++ trunk/boost/test/data/test_case.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -19,8 +19,6 @@
 #include <boost/test/data/config.hpp>
 #include <boost/test/data/dataset.hpp>
 
-#include <boost/test/utils/pp_variadic.hpp>
-
 // Boost
 #include <boost/preprocessor/repetition/enum_params.hpp>
 #include <boost/preprocessor/repetition/enum_binary_params.hpp>
@@ -33,6 +31,7 @@
 #include <boost/preprocessor/seq/for_each.hpp>
 #include <boost/preprocessor/seq/enum.hpp>
 #include <boost/preprocessor/control/iif.hpp>
+#include <boost/preprocessor/comparison/equal.hpp>
 
 #include <boost/test/detail/suppress_warnings.hpp>
 
@@ -66,7 +65,7 @@
     {
         if( m_test_cases.empty() )
             return 0;
-
+
         test_unit* res = m_test_cases.front();
         m_test_cases.pop_front();
 
@@ -79,8 +78,8 @@
     void operator()( BOOST_PP_ENUM_BINARY_PARAMS(arity, Arg, const& arg) ) const \
     { \
         m_test_cases.push_back( new test_case( m_tc_name, \
- std::bind( &TestCase::test_method<BOOST_PP_ENUM_PARAMS(arity,Arg)>, \
- BOOST_PP_ENUM_PARAMS(arity, arg) ) ) ); \
+ std::bind( &TestCase::template test_method<BOOST_PP_ENUM_PARAMS(arity,Arg)>, \
+ BOOST_PP_ENUM_PARAMS(arity, arg) ) ) ); \
     } \
 
     BOOST_PP_REPEAT_FROM_TO(1, 4, TC_MAKE, _)
@@ -144,15 +143,14 @@
                                test_name, dataset, \
                                BOOST_PP_VARIADIC_TO_SEQ(__VA_ARGS__) ) \
 /**/
-#define BOOST_DATA_TEST_CASE_NO_PARAMS( test_name, dataset, ... ) \
+#define BOOST_DATA_TEST_CASE_NO_PARAMS( test_name, dataset ) \
     BOOST_DATA_TEST_CASE_WITH_PARAMS( test_name, dataset, sample ) \
 /**/
 
-#define BOOST_DATA_TEST_CASE( test_name, dataset, ... ) \
- BOOST_PP_IIF(BOOST_TEST_PP_NON_EMPTY(__VA_ARGS__), \
- BOOST_DATA_TEST_CASE_WITH_PARAMS, \
- BOOST_DATA_TEST_CASE_NO_PARAMS ) \
- (test_name, dataset, __VA_ARGS__) \
+#define BOOST_DATA_TEST_CASE( ... ) \
+ BOOST_PP_IIF(BOOST_PP_EQUAL(BOOST_PP_VARIADIC_SIZE(__VA_ARGS__),2), \
+ BOOST_DATA_TEST_CASE_NO_PARAMS, \
+ BOOST_DATA_TEST_CASE_WITH_PARAMS)(__VA_ARGS__) \
 /**/
 
 } // namespace data

Modified: trunk/boost/test/utils/named_params.hpp
==============================================================================
--- trunk/boost/test/utils/named_params.hpp (original)
+++ trunk/boost/test/utils/named_params.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
@@ -24,6 +24,7 @@
 #include <boost/test/utils/assign_op.hpp>
 
 #include <boost/type_traits/remove_reference.hpp>
+#include <boost/type_traits/remove_cv.hpp>
 
 #include <boost/test/detail/suppress_warnings.hpp>
 
@@ -344,22 +345,18 @@
 struct param_type<nfp_detail::named_parameter_combine<NP,Rest>,Keyword,DefaultType> : param_type<Rest,Keyword,DefaultType> {
 };
 
-#if !defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)
-
 template<typename T, typename unique_id, typename ReferenceType,bool required,typename DefaultType>
 struct param_type<named_parameter<T,unique_id,ReferenceType>,keyword<unique_id,required>,DefaultType> {
- typedef typename std::remove_cv<T>::type type;
+ typedef typename boost::remove_cv<T>::type type;
 };
 
 template<typename T, typename unique_id, typename ReferenceType,typename Rest,bool required,typename DefaultType>
 struct param_type<nfp_detail::named_parameter_combine<named_parameter<T,unique_id,ReferenceType>,Rest>,
                   keyword<unique_id,required>,
                   DefaultType> {
- typedef typename std::remove_cv<T>::type type;
+ typedef typename boost::remove_cv<T>::type type;
 };
 
-#endif
-
 } // namespace nfp
 } // namespace boost
 

Deleted: trunk/boost/test/utils/pp_variadic.hpp
==============================================================================
--- trunk/boost/test/utils/pp_variadic.hpp 2012-11-01 18:30:51 EDT (Thu, 01 Nov 2012)
+++ (empty file)
@@ -1,53 +0,0 @@
-// (C) Copyright Gennadiy Rozental 2005-2012.
-// Distributed under the Boost Software License, Version 1.0.
-// (See accompanying file LICENSE_1_0.txt or copy at
-// http://www.boost.org/LICENSE_1_0.txt)
-
-// See http://www.boost.org/libs/test for the library home page.
-//
-// File : $RCSfile$
-//
-// Version : $Revision: 81012 $
-//
-// Description : simple helpers for creating cusom output manipulators
-// ***************************************************************************
-
-#ifndef BOOST_TEST_PP_VARIADIC_HPP_102412GER
-#define BOOST_TEST_PP_VARIADIC_HPP_102412GER
-
-// Boost
-#include <boost/config.hpp>
-#include <boost/preprocessor/arithmetic/mul.hpp>
-#include <boost/preprocessor/arithmetic/sub.hpp>
-#include <boost/preprocessor/punctuation/comma.hpp>
-#include <boost/preprocessor/variadic/size.hpp>
-#include <boost/preprocessor/logical/bool.hpp>
-
-#include <boost/test/detail/suppress_warnings.hpp>
-
-//____________________________________________________________________________//
-
-namespace boost {
-namespace unit_test {
-
-// ************************************************************************** //
-// ************** BOOST_TEST_PP_VARIADIC_SIZE ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_PP_VARIADIC_SIZE(...) BOOST_PP_SUB( BOOST_PP_MUL( BOOST_PP_VARIADIC_SIZE(__VA_ARGS__), 2 ), \
- BOOST_PP_VARIADIC_SIZE( BOOST_PP_COMMA __VA_ARGS__ () ) ) \
-/**/
-
-// ************************************************************************** //
-// ************** BOOST_TEST_PP_NON_EMPTY ************** //
-// ************************************************************************** //
-
-#define BOOST_TEST_PP_NON_EMPTY(...) BOOST_PP_BOOL(BOOST_TEST_PP_VARIADIC_SIZE(__VA_ARGS__))
-
-} // namespace unit_test
-} // namespace boost
-
-
-#include <boost/test/detail/enable_warnings.hpp>
-
-#endif // BOOST_TEST_PP_VARIADIC_HPP_102412GER


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk