]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | // Copyright David Abrahams 2003. |
2 | // Distributed under the Boost Software License, Version 1.0. (See | |
3 | // accompanying file LICENSE_1_0.txt or copy at | |
4 | // http://www.boost.org/LICENSE_1_0.txt) | |
5 | #ifndef VALUE_IS_XXX_DWA2003224_HPP | |
6 | # define VALUE_IS_XXX_DWA2003224_HPP | |
7 | ||
8 | # include <boost/config.hpp> | |
9 | # include <boost/mpl/bool.hpp> | |
10 | # include <boost/preprocessor/enum_params.hpp> | |
11 | ||
12 | ||
13 | # include <boost/type_traits/remove_reference.hpp> | |
14 | # include <boost/type_traits/remove_cv.hpp> | |
15 | # include <boost/python/detail/is_xxx.hpp> | |
16 | ||
17 | # define BOOST_PYTHON_VALUE_IS_XXX_DEF(name, qualified_name, nargs) \ | |
18 | template <class X_> \ | |
19 | struct value_is_##name \ | |
20 | { \ | |
21 | BOOST_PYTHON_IS_XXX_DEF(name,qualified_name,nargs) \ | |
22 | BOOST_STATIC_CONSTANT(bool, value = is_##name< \ | |
23 | typename remove_cv< \ | |
24 | typename remove_reference<X_>::type \ | |
25 | >::type \ | |
26 | >::value); \ | |
27 | typedef mpl::bool_<value> type; \ | |
28 | \ | |
29 | }; | |
30 | ||
31 | ||
32 | #endif // VALUE_IS_XXX_DWA2003224_HPP |