• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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