1 2 // (C) Copyright Edward Diener 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/list/to_seq.hpp> 8 #include <boost/vmd/is_empty.hpp> 9 #include <boost/detail/lightweight_test.hpp> 10 #include <boost/preprocessor/seq/elem.hpp> 11 main()12int main() 13 { 14 15 #if BOOST_PP_VARIADICS 16 17 #define A_LIST (1,(2,(3,(4,BOOST_PP_NIL)))) 18 #define AN_EMPTY_LIST BOOST_PP_NIL 19 20 BOOST_TEST_EQ(BOOST_PP_SEQ_ELEM(3,BOOST_VMD_LIST_TO_SEQ(A_LIST)),4); 21 BOOST_TEST(BOOST_VMD_IS_EMPTY(BOOST_VMD_LIST_TO_SEQ(AN_EMPTY_LIST))); 22 23 #else 24 25 BOOST_ERROR("No variadic macro support"); 26 27 #endif 28 29 return boost::report_errors(); 30 31 } 32