]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/config/test/boost_no_cxx17_iterator_traits.ipp
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / libs / config / test / boost_no_cxx17_iterator_traits.ipp
index ea75f2323dd4117270a07746728c3917ef1196d1..cef88c0583136af20a3cbcdef312340756d55e75 100644 (file)
 
 namespace boost_no_cxx17_iterator_traits {
 
-struct iterator :
-    public std::iterator< std::random_access_iterator_tag, char >
+struct iterator
 {
+   typedef std::random_access_iterator_tag iterator_category;
+   typedef char value_type;
+   typedef std::ptrdiff_t difference_type;
+   typedef char* pointer;
+   typedef char& reference;
+
+   reference operator*()const;
+   iterator operator++();
 };
 
 struct non_iterator {};
@@ -37,11 +44,9 @@ struct has_iterator_category< Traits, typename void_type< typename Traits::itera
 
 int test()
 {
-    if (!has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::iterator > >::value)
-        return 1;
+    static_assert(has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::iterator > >::value, "has_iterator_category failed");
 
-    if (has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::non_iterator > >::value)
-        return 2;
+    static_assert(!has_iterator_category< std::iterator_traits< boost_no_cxx17_iterator_traits::non_iterator > >::value, "has_iterator_category negative check failed");
 
     return 0;
 }