1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/python/args_fwd.hpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,52 @@
1.4 +// Copyright David Abrahams 2002.
1.5 +// Distributed under the Boost Software License, Version 1.0. (See
1.6 +// accompanying file LICENSE_1_0.txt or copy at
1.7 +// http://www.boost.org/LICENSE_1_0.txt)
1.8 +#ifndef ARGS_FWD_DWA2002927_HPP
1.9 +# define ARGS_FWD_DWA2002927_HPP
1.10 +
1.11 +# include <boost/python/detail/prefix.hpp>
1.12 +
1.13 +# include <boost/python/handle.hpp>
1.14 +# include <boost/config.hpp>
1.15 +# include <cstddef>
1.16 +# include <utility>
1.17 +
1.18 +namespace boost { namespace python {
1.19 +
1.20 +namespace detail
1.21 +{
1.22 + struct keyword
1.23 + {
1.24 + keyword(char const* name_=0)
1.25 + : name(name_)
1.26 + {}
1.27 +
1.28 + char const* name;
1.29 + handle<> default_value;
1.30 + };
1.31 +
1.32 + template <std::size_t nkeywords = 0> struct keywords;
1.33 +
1.34 + typedef std::pair<keyword const*, keyword const*> keyword_range;
1.35 +
1.36 + template <>
1.37 + struct keywords<0>
1.38 + {
1.39 + BOOST_STATIC_CONSTANT(std::size_t, size = 0);
1.40 + static keyword_range range() { return keyword_range(); }
1.41 + };
1.42 +
1.43 + namespace error
1.44 + {
1.45 + template <int keywords, int function_args>
1.46 + struct more_keywords_than_function_arguments
1.47 + {
1.48 + typedef char too_many_keywords[keywords > function_args ? -1 : 1];
1.49 + };
1.50 + }
1.51 +}
1.52 +
1.53 +}} // namespace boost::python
1.54 +
1.55 +#endif // ARGS_FWD_DWA2002927_HPP