summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/detail/test/is_xxx_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/detail/test/is_xxx_test.cpp')
-rw-r--r--src/boost/libs/detail/test/is_xxx_test.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/boost/libs/detail/test/is_xxx_test.cpp b/src/boost/libs/detail/test/is_xxx_test.cpp
new file mode 100644
index 000000000..2f2959c46
--- /dev/null
+++ b/src/boost/libs/detail/test/is_xxx_test.cpp
@@ -0,0 +1,23 @@
+
+// Copyright 2018 Daniel James.
+// 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)
+
+#include <boost/detail/is_xxx.hpp>
+#include <boost/static_assert.hpp>
+
+namespace is_xxx_test {
+ template <typename T> struct thing1 {};
+ template <typename T1, typename T2 = int> struct thing2 {};
+}
+
+BOOST_DETAIL_IS_XXX_DEF(thing1, is_xxx_test::thing1, 1);
+BOOST_DETAIL_IS_XXX_DEF(thing2, is_xxx_test::thing2, 2);
+
+BOOST_STATIC_ASSERT((is_thing1<is_xxx_test::thing1<int> >::value));
+BOOST_STATIC_ASSERT((!is_thing1<is_xxx_test::thing2<int> >::value));
+BOOST_STATIC_ASSERT((!is_thing2<is_xxx_test::thing1<int> >::value));
+BOOST_STATIC_ASSERT((is_thing2<is_xxx_test::thing2<int> >::value));
+BOOST_STATIC_ASSERT((is_thing2<is_xxx_test::thing2<int, float> >::value));
+
+int main() {}