summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/qvm/test/swizzle4_test3.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/libs/qvm/test/swizzle4_test3.cpp')
-rw-r--r--src/boost/libs/qvm/test/swizzle4_test3.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/src/boost/libs/qvm/test/swizzle4_test3.cpp b/src/boost/libs/qvm/test/swizzle4_test3.cpp
new file mode 100644
index 000000000..ac472b2dc
--- /dev/null
+++ b/src/boost/libs/qvm/test/swizzle4_test3.cpp
@@ -0,0 +1,49 @@
+//Copyright (c) 2008-2016 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)
+
+#include <boost/qvm/vec_traits.hpp>
+#include <boost/qvm/swizzle4.hpp>
+#include <boost/detail/lightweight_test.hpp>
+
+template <int D> struct my_vec { };
+int called=0;
+
+namespace
+boost
+ {
+ namespace
+ qvm
+ {
+ void
+ YYYY(...)
+ {
+ BOOST_TEST(0);
+ }
+ void
+ XXXZ(...)
+ {
+ ++called;
+ }
+ template <int D>
+ struct
+ vec_traits< my_vec<D> >
+ {
+ typedef int scalar_type;
+ static int const dim=D;
+ template <int I> static int read_element( my_vec<D> const & );
+ template <int I> static int & write_element( my_vec<D> & );
+ };
+ }
+ }
+
+int
+main()
+ {
+ using namespace boost::qvm;
+ YYYY(my_vec<2>());
+ XXXZ(my_vec<2>());
+ BOOST_TEST(called==1);
+ return boost::report_errors();
+ }