// Copyright 2008-2024 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) #ifdef BOOST_QVM_TEST_SINGLE_HEADER # include BOOST_QVM_TEST_SINGLE_HEADER # ifdef BOOST_QVM_TEST_SINGLE_HEADER_SWIZZLE # include BOOST_QVM_TEST_SINGLE_HEADER_SWIZZLE # endif #else # include # include #endif #include template struct my_vec { }; int called=0; namespace boost { namespace qvm { void YYYY(...) { BOOST_TEST(0); } void XXXZ(...) { ++called; } template struct vec_traits< my_vec > { typedef int scalar_type; static int const dim=D; template static int read_element( my_vec const & ); template static int & write_element( my_vec & ); }; } } int main() { using namespace boost::qvm; YYYY(my_vec<2>()); XXXZ(my_vec<2>()); BOOST_TEST_EQ(called, 1); return boost::report_errors(); }