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/is_empty_array.hpp>
8 #include <boost/detail/lightweight_test.hpp>
9
main()10 int main()
11 {
12
13 #if BOOST_PP_VARIADICS
14
15 #define AN_ARRAY_PLUS (4,(mmf,34,^^,!)) 456
16 #define PLUS_ANARRAY yyt (2,(j,ii%))
17 #define JDATA ggh
18 #define KDATA (2,(a,b)) name
19 #define A_SEQ ((1,(25)))((1,(26)))((1,(27)))
20 #define AN_EMPTY_ARRAY_PLUS (0,()) 46
21 #define EMPTY_ARRAY_INVALID ("string",() xx)
22 #define EMPTY_ARRAY (0,())
23
24 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(anything));
25 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(AN_ARRAY_PLUS));
26 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(PLUS_ANARRAY));
27 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(JDATA));
28 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(KDATA));
29 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(A_SEQ));
30 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(AN_EMPTY_ARRAY_PLUS));
31 BOOST_TEST(!BOOST_VMD_IS_EMPTY_ARRAY(EMPTY_ARRAY_INVALID));
32 BOOST_TEST(BOOST_VMD_IS_EMPTY_ARRAY(EMPTY_ARRAY));
33
34 #else
35
36 BOOST_ERROR("No variadic macro support");
37
38 #endif
39
40 return boost::report_errors();
41
42 }
43