1 /*============================================================================= 2 BOOST_PP_VARIADICS version of BOOST_PP_IS_SEQ inspired from 3 boost/mpl/aux_/preprocessor/is_seq.hpp, original copyrights goes to : 4 5 Copyright Paul Mensonides 2003 6 Copyright Aleksey Gurtovoy 2003-2004 7 8 Distributed under the Boost Software License, Version 1.0. (See accompanying 9 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 10 11 ==============================================================================*/ 12 13 #ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP 14 #define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_PREPROCESSOR_IS_SEQ_HPP 15 16 #include <boost/preprocessor/punctuation/paren.hpp> 17 #include <boost/preprocessor/cat.hpp> 18 #include <boost/preprocessor/config/config.hpp> 19 20 #if BOOST_PP_VARIADICS 21 22 #define BOOST_FUSION_PP_IS_SEQ(seq) BOOST_PP_CAT(BOOST_FUSION_PP_IS_SEQ_, \ 23 BOOST_FUSION_PP_IS_SEQ_0 seq BOOST_PP_RPAREN()) 24 25 #define BOOST_FUSION_PP_IS_SEQ_0(...) \ 26 BOOST_FUSION_PP_IS_SEQ_1(__VA_ARGS__ 27 28 #define BOOST_FUSION_PP_IS_SEQ_ALWAYS_0(...) \ 29 0 30 31 #define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_0 \ 32 BOOST_FUSION_PP_IS_SEQ_ALWAYS_0( 33 34 #define BOOST_FUSION_PP_IS_SEQ_BOOST_FUSION_PP_IS_SEQ_1(...) \ 35 1 36 37 #endif // BOOST_PP_VARIADICS 38 39 #endif 40