123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- // Copyright Ralf W. Grosse-Kunstleve 2006.
- // 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 DOCSTRING_OPTIONS_RWGK20060111_HPP
- # define DOCSTRING_OPTIONS_RWGK20060111_HPP
- #include <boost/python/object/function.hpp>
- namespace boost { namespace python {
- // Note: the static data members are defined in object/function.cpp
- class BOOST_PYTHON_DECL docstring_options : boost::noncopyable
- {
- public:
- docstring_options(bool show_all=true)
- {
- previous_show_user_defined_ = show_user_defined_;
- previous_show_py_signatures_ = show_py_signatures_;
- previous_show_cpp_signatures_ = show_cpp_signatures_;
- show_user_defined_ = show_all;
- show_cpp_signatures_ = show_all;
- show_py_signatures_ = show_all;
- }
- docstring_options(bool show_user_defined, bool show_signatures)
- {
- previous_show_user_defined_ = show_user_defined_;
- previous_show_cpp_signatures_ = show_cpp_signatures_;
- previous_show_py_signatures_ = show_py_signatures_;
- show_user_defined_ = show_user_defined;
- show_cpp_signatures_ = show_signatures;
- show_py_signatures_ = show_signatures;
- }
- docstring_options(bool show_user_defined, bool show_py_signatures, bool show_cpp_signatures)
- {
- previous_show_user_defined_ = show_user_defined_;
- previous_show_cpp_signatures_ = show_cpp_signatures_;
- previous_show_py_signatures_ = show_py_signatures_;
- show_user_defined_ = show_user_defined;
- show_cpp_signatures_ = show_cpp_signatures;
- show_py_signatures_ = show_py_signatures;
- }
- ~docstring_options()
- {
- show_user_defined_ = previous_show_user_defined_;
- show_cpp_signatures_ = previous_show_cpp_signatures_;
- show_py_signatures_ = previous_show_py_signatures_;
- }
- void
- disable_user_defined() { show_user_defined_ = false; }
- void
- enable_user_defined() { show_user_defined_ = true; }
- void
- disable_py_signatures()
- {
- show_py_signatures_ = false;
- }
- void
- enable_py_signatures()
- {
- show_py_signatures_ = true;
- }
- void
- disable_cpp_signatures()
- {
- show_cpp_signatures_ = false;
- }
- void
- enable_cpp_signatures()
- {
- show_cpp_signatures_ = true;
- }
- void
- disable_signatures()
- {
- show_cpp_signatures_ = false;
- show_py_signatures_ = false;
- }
- void
- enable_signatures()
- {
- show_cpp_signatures_ = true;
- show_py_signatures_ = true;
- }
- void
- disable_all()
- {
- show_user_defined_ = false;
- show_cpp_signatures_ = false;
- show_py_signatures_ = false;
- }
- void
- enable_all()
- {
- show_user_defined_ = true;
- show_cpp_signatures_ = true;
- show_py_signatures_ = true;
- }
- friend struct objects::function;
- private:
- static volatile bool show_user_defined_;
- static volatile bool show_cpp_signatures_;
- static volatile bool show_py_signatures_;
- bool previous_show_user_defined_;
- bool previous_show_cpp_signatures_;
- bool previous_show_py_signatures_;
- };
- }} // namespace boost::python
- #endif // DOCSTRING_OPTIONS_RWGK20060111_HPP
|