// Copyright David Abrahams 2002. | |
// 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 VOID_RETURN_DWA200274_HPP | |
# define VOID_RETURN_DWA200274_HPP | |
# include <boost/config.hpp> | |
namespace boost { namespace python { namespace detail { | |
struct void_return | |
{ | |
void_return() {} | |
private: | |
void operator=(void_return const&); | |
}; | |
template <class T> | |
struct returnable | |
{ | |
typedef T type; | |
}; | |
# ifdef BOOST_NO_VOID_RETURNS | |
template <> | |
struct returnable<void> | |
{ | |
typedef void_return type; | |
}; | |
# ifndef BOOST_NO_CV_VOID_SPECIALIZATIONS | |
template <> struct returnable<const void> : returnable<void> {}; | |
template <> struct returnable<volatile void> : returnable<void> {}; | |
template <> struct returnable<const volatile void> : returnable<void> {}; | |
# endif | |
# endif // BOOST_NO_VOID_RETURNS | |
}}} // namespace boost::python::detail | |
#endif // VOID_RETURN_DWA200274_HPP |