// Copyright David Abrahams 2005.
// Distributed under the Boost Software License, Version 1.0. (See
// accompanying file LICENSE_1_0.txt or copy at
// http://www.boost.org/LICENSE_1_0.txt)
#ifndef IS_XXX_DWA2003224_HPP
# define IS_XXX_DWA2003224_HPP

# include <boost/detail/is_xxx.hpp>

#  define BOOST_PYTHON_IS_XXX_DEF(name, qualified_name, nargs) \
    BOOST_DETAIL_IS_XXX_DEF(name, qualified_name, nargs)

#endif // IS_XXX_DWA2003224_HPP
