fix constexpr-ness of a couple of algorithhms - and tests. Based on Pull Request #44 by Flast - thanks!

This commit is contained in:
Marshall Clow
2018-04-04 11:18:38 -07:00
parent 509201f29f
commit 3af7acabc7
7 changed files with 52 additions and 47 deletions

View File

@ -77,12 +77,13 @@ void test_all ()
BOOST_CHECK ( ba::all_of_equal ( li.begin(), l_iter, 1 ));
BOOST_CHECK ( ba::all_of ( li.begin(), l_iter, is_<int> ( 1 )));
BOOST_CXX14_CONSTEXPR bool constexpr_res = (
!ba::all_of_equal ( some_numbers, 1 )
&& !ba::all_of ( some_numbers, is_<int> ( 1 ))
&& ba::all_of_equal ( some_numbers, some_numbers + 3, 1 )
&& ba::all_of ( some_numbers, some_numbers + 3, is_<int> ( 1 ))
);
BOOST_CXX14_CONSTEXPR bool constexpr_res =
!ba::all_of_equal ( some_numbers, 1 ) &&
!ba::all_of ( some_numbers, is_<int> ( 1 )) &&
ba::all_of_equal ( some_numbers, some_numbers + 3, 1 ) &&
ba::all_of ( some_numbers, some_numbers + 3, is_<int> ( 1 )) &&
true;
BOOST_CHECK ( constexpr_res );
}

View File

@ -97,13 +97,13 @@ void test_any ()
BOOST_CHECK (!ba::any_of_equal ( li.begin(), l_iter, 18 ));
BOOST_CHECK (!ba::any_of ( li.begin(), l_iter, is_<int> ( 18 )));
BOOST_CXX14_CONSTEXPR bool constexpr_res = (
ba::any_of_equal ( some_numbers, 1 )
&& ba::any_of ( some_numbers, is_<int> ( 1 ))
&& !ba::any_of_equal ( some_numbers, some_numbers + 3, 777 )
&& !ba::any_of ( some_numbers, some_numbers + 3, is_<int> ( 777 ))
);
BOOST_CXX14_CONSTEXPR bool constexpr_res =
ba::any_of_equal ( some_numbers, 1 ) &&
ba::any_of ( some_numbers, is_<int> ( 1 )) &&
!ba::any_of_equal ( some_numbers, some_numbers + 3, 777 ) &&
!ba::any_of ( some_numbers, some_numbers + 3, is_<int> ( 777 )) &&
true;
BOOST_CHECK ( constexpr_res );
}

View File

@ -306,7 +306,7 @@ void test_constexpr()
BOOST_CHECK(check_max_out);
}
{
short foo = 50;
BOOST_CXX14_CONSTEXPR short foo = 50;
BOOST_CXX14_CONSTEXPR bool check_float = ( 56 == ba::clamp ( foo, 56.9, 129 ));
BOOST_CHECK(check_float);
BOOST_CXX14_CONSTEXPR bool check_over = ( 24910 == ba::clamp ( foo, 12345678, 123456999 ));

View File

@ -88,13 +88,14 @@ void test_none()
BOOST_CHECK ( ba::none_of_equal ( li.begin(), l_iter, 18 ));
BOOST_CHECK ( ba::none_of ( li.begin(), l_iter, is_<int> ( 18 )));
BOOST_CHECK (!ba::none_of ( li.begin(), l_iter, is_<int> ( 5 )));
BOOST_CXX14_CONSTEXPR bool constexpr_res = (
!ba::none_of_equal ( some_numbers, 1 )
&& !ba::none_of ( some_numbers, is_<int> ( 1 ))
&& ba::none_of_equal ( some_numbers, some_numbers + 3, 100 )
&& ba::none_of ( some_numbers, some_numbers + 3, is_<int> ( 100 ))
);
BOOST_CXX14_CONSTEXPR bool constexpr_res =
!ba::none_of_equal ( some_numbers, 1 ) &&
!ba::none_of ( some_numbers, is_<int> ( 1 )) &&
ba::none_of_equal ( some_numbers, some_numbers + 3, 100 ) &&
ba::none_of ( some_numbers, some_numbers + 3, is_<int> ( 100 )) &&
true;
BOOST_CHECK ( constexpr_res );
}

View File

@ -92,10 +92,10 @@ void test_one ()
BOOST_CHECK (!ba::one_of_equal ( li.begin(), l_iter, 3 ));
BOOST_CHECK (!ba::one_of ( li.begin(), l_iter, is_<int> ( 3 )));
BOOST_CXX14_CONSTEXPR bool constexpr_res = (
!ba::one_of ( some_numbers, is_<int> ( 6 ))
&& ba::one_of ( some_numbers + 1, some_numbers + 3, is_<int> ( 1 ))
);
BOOST_CXX14_CONSTEXPR bool constexpr_res =
!ba::one_of ( some_numbers, is_<int> ( 6 )) &&
ba::one_of ( some_numbers + 1, some_numbers + 3, is_<int> ( 1 )) &&
true;
BOOST_CHECK ( constexpr_res );
}