template<typename T>
struct is_ {
- is_ ( T v ) : val_ ( v ) {}
- ~is_ () {}
- bool operator () ( T comp ) const { return val_ == comp; }
+ BOOST_CXX14_CONSTEXPR is_ ( T v ) : val_ ( v ) {}
+ BOOST_CXX14_CONSTEXPR bool operator () ( T comp ) const { return val_ == comp; }
private:
is_ (); // need a value
void test_none()
{
// Note: The literal values here are tested against directly, careful if you change them:
- int some_numbers[] = { 1, 5, 0, 18, 1 };
+ BOOST_CXX14_CONSTEXPR int some_numbers[] = { 1, 5, 0, 18, 1 };
std::vector<int> vi(some_numbers, some_numbers + 5);
std::list<int> li(vi.begin(), vi.end ());
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 )) &&
+ true;
+
+ BOOST_CHECK ( constexpr_res );
}
BOOST_AUTO_TEST_CASE( test_main )