Restrict msvc-12.0 to one tuple in tuple_transform

This commit is contained in:
Peter Dimov
2020-05-24 00:56:43 +03:00
parent 857ba905e4
commit 917ac15ee1
3 changed files with 73 additions and 7 deletions

View File

@@ -63,6 +63,8 @@ int main()
BOOST_TEST_EQ( std::get<0>( r ), 2 );
}
#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 )
{
std::tuple<int> r = tuple_transform( g, ::make_array( 1 ), std::make_tuple( 2 ) );
@@ -75,6 +77,8 @@ int main()
BOOST_TEST_EQ( std::get<0>( r ), 6 );
}
#endif
//
{
@@ -98,6 +102,8 @@ int main()
BOOST_TEST_EQ( std::get<1>( r ), 3 );
}
#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 )
{
std::tuple<int, int> r = tuple_transform( g, ::make_array( 1, 2 ), std::make_pair( 3, 4 ) );
@@ -112,6 +118,8 @@ int main()
BOOST_TEST_EQ( std::get<1>( r ), 12 );
}
#endif
//
{
@@ -130,6 +138,8 @@ int main()
BOOST_TEST_EQ( std::get<2>( r ), 4 );
}
#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 )
{
std::tuple<int, int, int> r = tuple_transform( g, ::make_array( 1, 2, 3 ), std::make_tuple( 4, 5, 6 ) );
@@ -146,6 +156,10 @@ int main()
BOOST_TEST_EQ( std::get<2>( r ), 18 );
}
#endif
#if !BOOST_MP11_WORKAROUND( BOOST_MP11_MSVC, < 1900 )
{
using namespace boost::mp11;
@@ -158,5 +172,7 @@ int main()
mp_for_each<Tp>( test_element<decltype(r)>{ r } );
}
#endif
return boost::report_errors();
}