1 2 // (C) Copyright Edward Diener 2011-2015 3 // Use, modification and distribution are subject to the Boost Software License, 4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt). 6 7 #include <boost/vmd/equal.hpp> 8 #include <boost/vmd/not_equal.hpp> 9 #include <boost/detail/lightweight_test.hpp> 10 main()11int main() 12 { 13 14 #if BOOST_PP_VARIADICS 15 16 #define BOOST_VMD_REGISTER_aaa (aaa) 17 #define BOOST_VMD_REGISTER_bbb (bbb) 18 #define BOOST_VMD_REGISTER_ccc (ccc) 19 #define BOOST_VMD_REGISTER_ddd (ddd) 20 #define BOOST_VMD_REGISTER_ggh (ggh) 21 #define BOOST_VMD_REGISTER_dvd (dvd) 22 #define BOOST_VMD_DETECT_aaa_aaa 23 #define BOOST_VMD_DETECT_bbb_bbb 24 #define BOOST_VMD_DETECT_ccc_ccc 25 #define BOOST_VMD_DETECT_ddd_ddd 26 #define BOOST_VMD_DETECT_ggh_ggh 27 #define BOOST_VMD_DETECT_dvd_dvd 28 29 BOOST_TEST(BOOST_VMD_EQUAL(aaa,aaa)); 30 BOOST_TEST(BOOST_VMD_EQUAL(ddd,ddd)); 31 BOOST_TEST(BOOST_VMD_NOT_EQUAL(ggg,dvd)); 32 BOOST_TEST(BOOST_VMD_NOT_EQUAL(bbb,ccc)); 33 BOOST_TEST(BOOST_VMD_NOT_EQUAL(eee,eee)); 34 35 #else 36 37 BOOST_ERROR("No variadic macro support"); 38 39 #endif 40 41 return boost::report_errors(); 42 43 } 44