Chris@16: // Copyright Nikolay Mladenov 2007. Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: #ifndef FUNCTION_SIGNATURE_20070531_HPP Chris@16: # define FUNCTION_SIGNATURE_20070531_HPP Chris@16: Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: #include Chris@16: Chris@16: #include Chris@16: Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { namespace python { namespace objects { Chris@16: Chris@16: class function_doc_signature_generator{ Chris@16: static const char * py_type_str(const python::detail::signature_element &s); Chris@16: static bool arity_cmp( function const *f1, function const *f2 ); Chris@16: static bool are_seq_overloads( function const *f1, function const *f2 , bool check_docs); Chris@16: static std::vector flatten(function const *f); Chris@16: static std::vector split_seq_overloads( const std::vector &funcs, bool split_on_doc_change); Chris@16: static str raw_function_pretty_signature(function const *f, size_t n_overloads, bool cpp_types = false); Chris@16: static str parameter_string(py_function const &f, size_t n, object arg_names, bool cpp_types); Chris@16: static str pretty_signature(function const *f, size_t n_overloads, bool cpp_types = false); Chris@16: Chris@16: public: Chris@16: static list function_doc_signatures( function const * f); Chris@16: }; Chris@16: Chris@16: }}}//end of namespace boost::python::objects Chris@16: Chris@16: #endif //FUNCTION_SIGNATURE_20070531_HPP