]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/algorithm/test/none_of_test.cpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / libs / algorithm / test / none_of_test.cpp
index b9b40c674da644ec2b9558ce021aab7d5d7c9196..0a20ff4b43586a34e270211520c511c548045e62 100644 (file)
@@ -19,9 +19,8 @@
 
 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
 
@@ -33,7 +32,7 @@ namespace ba = boost::algorithm;
 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 ());
     
@@ -89,6 +88,15 @@ 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 )) &&
+        true;
+
+    BOOST_CHECK ( constexpr_res );
 }
 
 BOOST_AUTO_TEST_CASE( test_main )