128 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			128 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								// 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
							 |