forked from boostorg/algorithm
fix constexpr-ness of a couple of algorithhms - and tests. Based on Pull Request #44 by Flast - thanks!
This commit is contained in:
@ -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 );
|
||||
}
|
||||
|
||||
|
@ -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 );
|
||||
}
|
||||
|
||||
|
@ -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 ));
|
||||
|
@ -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 );
|
||||
}
|
||||
|
||||
|
@ -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 );
|
||||
}
|
||||
|
Reference in New Issue
Block a user