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)
5 
6 #ifndef BOOST_PARAMETER_AUX_PREPROCESSOR_IS_NULLARY_HPP
7 #define BOOST_PARAMETER_AUX_PREPROCESSOR_IS_NULLARY_HPP
8 
9 #include <boost/config.hpp>
10 #include <boost/config/workaround.hpp>
11 
12 #if BOOST_WORKAROUND(BOOST_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)
18 /**/
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() ~
24 /**/
25 #else
26 #include <boost/preprocessor/detail/is_nullary.hpp>
27 #define BOOST_PARAMETER_IS_NULLARY(x) BOOST_PP_IS_NULLARY(x)
28 /**/
29 #endif
30 
31 #endif  // include guard
32 
33