1 // Copyright Daniel Wallin 2006.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
6 #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_IS_NULLARY_HPP
7 #define BOOST_PARAMETER_AUX_PREPROCESSOR_IS_NULLARY_HPP
9 #include <boost/config.hpp>
10 #include <boost/config/workaround.hpp>
12 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
13 // From Paul Mensonides
14 #include <boost/preprocessor/punctuation/comma.hpp>
15 #include <boost/preprocessor/detail/split.hpp>
16 #define BOOST_PARAMETER_IS_NULLARY(x) \
17 BOOST_PP_SPLIT(1, BOOST_PARAMETER_IS_NULLARY_C x BOOST_PP_COMMA() 0)
19 #include <boost/preprocessor/punctuation/paren.hpp>
20 #include <boost/preprocessor/tuple/eat.hpp>
21 #define BOOST_PARAMETER_IS_NULLARY_C() \
22 ~, 1 BOOST_PP_RPAREN() \
23 BOOST_PP_TUPLE_EAT(2) BOOST_PP_LPAREN() ~
26 #include <boost/preprocessor/detail/is_nullary.hpp>
27 #define BOOST_PARAMETER_IS_NULLARY(x) BOOST_PP_IS_NULLARY(x)
31 #endif // include guard