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