]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/qvm/test/cmp_mm_test.cpp
update ceph source to reef 18.1.2
[ceph.git] / ceph / src / boost / libs / qvm / test / cmp_mm_test.cpp
index 8b4bee5c13220adc09017bd3076171e77a9bc84a..95c5d1c9f7736fcee5c76f84c224ccf79ca3e787 100644 (file)
@@ -1,14 +1,49 @@
-//Copyright (c) 2008-2016 Emil Dotchevski and Reverge Studios, Inc.
+// Copyright 2008-2022 Emil Dotchevski and Reverge Studios, Inc.
 
-//Distributed under the Boost Software License, Version 1.0. (See accompanying
-//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+// Distributed under the Boost Software License, Version 1.0. (See accompanying
+// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#ifdef BOOST_QVM_TEST_SINGLE_HEADER
+#   include BOOST_QVM_TEST_SINGLE_HEADER
+#else
+#   include <boost/qvm/mat_operations.hpp>
+#   include <boost/qvm/mat.hpp>
+#endif
 
-#include <boost/qvm/mat_operations.hpp>
 #include <boost/qvm/mat_traits_array.hpp>
-#include <boost/qvm/mat.hpp>
 #include "test_qvm_matrix.hpp"
 #include "gold.hpp"
 
+namespace
+    {
+    template <class T>
+    struct test_scalar
+        {
+        T value_;
+        test_scalar( T value ): value_(value) {}
+        }; //No operator==
+
+    struct
+    equal_to
+        {
+        template <class T,class U>
+        bool
+        operator()( T const & a, U const & b )
+            {
+            return a.value_==b.value_;
+            }
+        };
+    }
+
+namespace boost { namespace qvm {
+    template <class T>
+    struct
+    is_scalar<test_scalar<T> >
+        {
+        static bool const value = is_scalar<T>::value;
+        };
+} }
+
 namespace
     {
     template <int Rows,int Cols>
@@ -35,24 +70,6 @@ namespace
                 }
         }
 
-    template <class T>
-    struct test_scalar
-    {
-        T value_;
-        test_scalar( T value ): value_(value) {}
-    }; //No operator==
-
-    struct
-    equal_to
-    {
-        template <class T,class U>
-        bool
-        operator()( T const & a, U const & b )
-        {
-            return a.value_==b.value_;
-        }
-    };
-
     template <class A, class B>
     void
     test2()