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 #if !defined(BOOST_VMD_IS_PARENS_EMPTY_HPP) 8 #define BOOST_VMD_IS_PARENS_EMPTY_HPP 9 10 #include <boost/vmd/detail/setup.hpp> 11 12 #if BOOST_PP_VARIADICS 13 14 #include <boost/vmd/detail/is_empty_tuple.hpp> 15 16 /* 17 18 The succeeding comments in this file are in doxygen format. 19 20 */ 21 22 /** \file 23 */ 24 25 /** \def BOOST_VMD_IS_PARENS_EMPTY(sequence) 26 27 \brief Determines if the sequence is a set of parens with no data. 28 29 sequence = a VMD sequence 30 31 returns = 1 if the sequence is a set of parens with no data, 32 else returns 0. 33 34 @code 35 36 A set of parens with no data may be: 37 38 1) a tuple whose size is a single element which is empty 39 40 or 41 42 2) a single element seq whose data is empty 43 44 @endcode 45 46 */ 47 48 #define BOOST_VMD_IS_PARENS_EMPTY(sequence) \ 49 BOOST_VMD_DETAIL_IS_EMPTY_TUPLE(sequence) \ 50 /**/ 51 52 /** \def BOOST_VMD_IS_PARENS_EMPTY_D(d,sequence) 53 54 \brief Determines if the sequence is a set of parens with no data. Re-entrant version. 55 56 d = The next available BOOST_PP_WHILE iteration. <br/> 57 sequence = a VMD sequence 58 59 returns = 1 if the sequence is a set of parens with no data, 60 else returns 0. 61 62 @code 63 64 A set of parens with no data may be: 65 66 1) a tuple whose size is a single element which is empty 67 68 or 69 70 2) a single element seq whose data is empty 71 72 @endcode 73 74 */ 75 76 #define BOOST_VMD_IS_PARENS_EMPTY_D(d,sequence) \ 77 BOOST_VMD_DETAIL_IS_EMPTY_TUPLE_D(d,sequence) \ 78 /**/ 79 80 #endif /* BOOST_PP_VARIADICS */ 81 #endif /* BOOST_VMD_IS_PARENS_EMPTY_HPP */ 82