53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| // 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 ARGS_FWD_DWA2002927_HPP
 | |
| # define ARGS_FWD_DWA2002927_HPP
 | |
| 
 | |
| # include <boost/python/detail/prefix.hpp>
 | |
| 
 | |
| # include <boost/python/handle.hpp>
 | |
| # include <boost/config.hpp>
 | |
| # include <cstddef>
 | |
| # include <utility>
 | |
| 
 | |
| namespace boost { namespace python { 
 | |
| 
 | |
| namespace detail
 | |
| {
 | |
|   struct keyword
 | |
|   {
 | |
|       keyword(char const* name_=0)
 | |
|        : name(name_)
 | |
|       {}
 | |
|       
 | |
|       char const* name;
 | |
|       handle<> default_value;
 | |
|   };
 | |
|   
 | |
|   template <std::size_t nkeywords = 0> struct keywords;
 | |
|   
 | |
|   typedef std::pair<keyword const*, keyword const*> keyword_range;
 | |
|   
 | |
|   template <>
 | |
|   struct keywords<0>
 | |
|   {
 | |
|       BOOST_STATIC_CONSTANT(std::size_t, size = 0);
 | |
|       static keyword_range range() { return keyword_range(); }
 | |
|   };
 | |
| 
 | |
|   namespace error
 | |
|   {
 | |
|     template <int keywords, int function_args>
 | |
|     struct more_keywords_than_function_arguments
 | |
|     {
 | |
|         typedef char too_many_keywords[keywords > function_args ? -1 : 1];
 | |
|     };
 | |
|   }
 | |
| }
 | |
| 
 | |
| }} // namespace boost::python
 | |
| 
 | |
| #endif // ARGS_FWD_DWA2002927_HPP
 | 
