]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/tti/test/test_has_member_template.cpp
update source to Ceph Pacific 16.2.2
[ceph.git] / ceph / src / boost / libs / tti / test / test_has_member_template.cpp
diff --git a/ceph/src/boost/libs/tti/test/test_has_member_template.cpp b/ceph/src/boost/libs/tti/test/test_has_member_template.cpp
new file mode 100644 (file)
index 0000000..c7f3080
--- /dev/null
@@ -0,0 +1,32 @@
+
+//  (C) Copyright Edward Diener 2019
+//  Use, modification and distribution are subject to 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).
+
+#include "test_has_mem_fun_template.hpp"
+#include <boost/detail/lightweight_test.hpp>
+
+int main()
+  {
+  
+  BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_TEMPLATE_GEN(SomeFuncTemplate)<double (AType::BType::CType::*)(int,long *,double &)>::value));
+  BOOST_TEST((SameName<void (AType::*)(int *,int,float &)>::value));
+  BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_TEMPLATE_GEN(AFuncTemplate)<int (AType::*)(const long &)>::value));
+  BOOST_TEST((AnotherName<long (AnotherType::*)(bool &)>::value));
+  
+  // Wrong enclosing type
+  
+  BOOST_TEST((!BOOST_TTI_HAS_MEMBER_FUNCTION_TEMPLATE_GEN(SomeFuncTemplate)<double (AType::BType::*)(int,long *,double &)>::value));
+  
+  // Wrong return value
+  
+  BOOST_TEST((!SameName<int (AType::*)(int *,int,float &)>::value));
+  
+  // Mismatched paramaters
+  
+  BOOST_TEST((!BOOST_TTI_HAS_MEMBER_FUNCTION_TEMPLATE_GEN(AFuncTemplate)<int (AType::*)(const bool &)>::value));
+  
+  return boost::report_errors();
+
+  }