1 // Copyright David Abrahams 2005. Distributed under the Boost 2 // Software License, Version 1.0. (See accompanying 3 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 4 #ifndef BOOST_DETAIL_IS_XXX_DWA20051011_HPP 5 # define BOOST_DETAIL_IS_XXX_DWA20051011_HPP 6 7 # include <boost/config.hpp> 8 # include <boost/mpl/bool.hpp> 9 # include <boost/preprocessor/enum_params.hpp> 10 11 12 # define BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs) \ 13 template <class T> \ 14 struct is_##name : mpl::false_ \ 15 { \ 16 }; \ 17 \ 18 template < BOOST_PP_ENUM_PARAMS_Z(1, nargs, class T) > \ 19 struct is_##name< \ 20 qualified_name< BOOST_PP_ENUM_PARAMS_Z(1, nargs, T) > \ 21 > \ 22 : mpl::true_ \ 23 { \ 24 }; 25 26 27 #endif // BOOST_DETAIL_IS_XXX_DWA20051011_HPP 28