swig/Lib/python
William S Fulton 33921666a1 Merge branch 'vadz-doxygen'
This is the Doxygen work begun in Google Summer of Code projects 2008
and 2012 and subsequently improved by numerous contributors.

* vadz-doxygen: (314 commits)
  Add changes entry for Doxygen support
  Add some missing doctype tyemaps
  Doxygen warnings cleanup
  Move doxygen warning numbers
  Add Python doxygen example
  Doxygen example
  Add Doxygen to include paths
  Doxygen source rename
  More merge fixes from doxygen branches
  Correct python example headers
  Correct source code headers
  Another merge fix from doxygen branches
  Java enums output format fixes
  Add omitted doxygen_parsing_enums testcase
  PEP8 conformance for comment verifier module
  Clean up merge problem
  Doxygen html tweaks
  Update html chapter numbering for added Doxygen chapter
  Fixes to makechap.py to detect ill-formed headers
  html fixes for Doxygen
  Add missing CPlusPlus17.html file
  Format files to unix format
  Doxygen testcase tweak to match that in the html docs
  Doxygen html documentation updates and corrections
  Remove doxygen Examples subdirectory
  Beautify doxygen source code
  Code formatting fixes in doxygen code
  Remove unused doxygen code
  new_node refactor
  Various merge fixes in doxygen branches
  Unused variable warning fix
  Fix wrongly resetting indent after formulae in Doxygen comments
  Add support for doxygen:alias feature
  Get rid of meaningless return type of DoxygenParser methods
  Return enum, not untyped int, when classifying Doxygen commands
  Get rid of unnecessary "typedef enum" in C++ code
  Use slash, not backslash, in "C/C++" in the documentation
  Replace literal "<" with "&lt;" in HTML documentation
  Fix broken link to java.sun.com in Doxygen documentation
  Fix using com.sun.tools.javadoc package under macOS
  Fix error reporting for special characters in Doxygen parsing code
  Switch Python Doxygen unit tests to use inspect.getdoc()
  Use correct separator in Java class path under Windows.
  Remove executable permission from appveyor.yml.
  Use JAVA_HOME value in configure to detect Java.
  Display JAVA_HOME value in "make java_version".
  Fix harmless MSVC warning in DoxygenTranslator code.
  Reset "_last" for all but first enum elements.
  Don't duplicate Javadoc from global enum Doxygen comments twice.
  Move Doxygen comments concatenation from the parser to the lexer.
  Fix shift/reduce conflicts in Doxygen pre/post comment parsing.
  Rewrote part of the grammar dealing with Doxygen comments for enums.
  No changes, just remove spurious white space only differences.
  Move Doxygen comment mangling from the parser to the lexer.
  Merge "-builtin" autodoc bugs workarounds from master into test.
  Quote JAVA_HOME variable value in Java test suite makefile.
  Remove unused C_COMMENT_STRING terminal from the grammar.
  Fix missing returns in the Doxygen test suite code.
  Fix trimming whitespace from Doxygen comments.
  Remove code not doing anything from PyDocConverter.
  Remove unused <sstream> header.
  Remove unreferenced struct declaration.
  Remove unused Swig_warn() function.
  Remove any whitespace before ignored Doxygen commands.
  Remove trailing space from one of Doxygen tests.
  Fix autodoc strings generated in Python builtin case and the test.
  Fix Doxygen unit test in Python "-builtin" case.
  Use class docstrings in "-builtin" Python case.
  Don't indent Doxygen doc strings in generated Python code.
  Add a possibility to flexibly ignore custom Doxygen tags.
  Stop completely ignoring many Doxygen comments.
  Fix structural Doxygen comment recognition in the parser.
  No changes, just make checking for Doxygen structural tags more sane.
  Use "//", not "#", for comments in SWIG input.
  Allow upper case letters and digits in Doxygen words.
  Pass the node the Doxygen comment is attached to to DoxygenParser.
  Get rid of findCommand() which duplicaed commandBelongs().
  Recognize unknown Doxygen tags correctly.
  No real changes, just pass original command to commandBelongs().
  Describe Doxygen-specific %features in a single place.
  Give warnings for unknown Doxygen commands in Doxygen parser.
  Document the return type when translating Doxygen @return to Python.
  Fix translated Doxygen comments for overloaded functions in Python.
  Also merge Doxygen comments for overloaded constructors in Python.
  Allow using enum elements as default values for Python functions.
  Don't always use "*args" for all Python wrapper functions.
  No real changes, just make PYTHON::check_kwargs() const.
  Refactor: move makeParameterName() to common Language base class.
  Remove long line wrapping from Python parameter list generation code.
  Simplify and make more efficient building Python docstrings.
  Translate Doxygen code blocks to Sphinx code blocks.
  Add a simple test of multiple parameters to Doxygen test suite.
  Make Python parameters types hyperlinks in the doc strings.
  Make Language::classLookup() and enumLookup() static.
  Fix arguments of @param, @return etc translations to Python.
  Remove unused method from PyDocConverter.
  No real changes, just remove an unnecessary variable.
  Preserve relative indentation when parsing Doxygen comments.
  Use Sphinx-friendly formatting for overloaded functions documentation.
  Add poor man trailing white space detection to Doxygen Python tests.
  ...
2018-06-07 08:13:10 +01:00
..
argcargv.i minor formatting change 2010-04-23 06:44:47 +00:00
attribute.i move attribute.i to the typemap library, now is usable from all the languages 2005-10-25 13:20:50 +00:00
boost_shared_ptr.i Add some missing doctype tyemaps 2018-06-05 18:52:30 +01:00
builtin.swg Fix types when calling PyTuple_New 2017-08-27 14:18:00 +01:00
carrays.i Fix %array_class in carrays.i for Python -builtin 2016-12-18 17:49:47 +00:00
ccomplex.i merge revisions 11872:11876 from trunk to gsoc2009-matevz branch - license changes 2010-03-06 00:51:54 +00:00
cdata.i massive typemap unification 2005-10-18 13:24:15 +00:00
cmalloc.i more typemaps unification and fixes for valgrind 2005-10-19 10:52:50 +00:00
complex.i more comments and cosmetic fixes 2004-03-23 01:07:45 +00:00
cpointer.i more typemaps unification and fixes for valgrind 2005-10-19 10:52:50 +00:00
cstring.i Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
cwstring.i Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
defarg.swg update to use proxy terminology 2006-06-29 21:17:30 +00:00
director.swg Fix incorrect comments 2015-05-09 21:59:03 +12:00
embed.i Whitespace cleanup 2016-01-27 19:05:03 +13:00
exception.i use internal SWIG_exception_fail, let SWIG_exception as in 1.3.27 2006-01-14 21:23:36 +00:00
factory.i add the factory library for UTL 2006-02-22 18:42:20 +00:00
file.i merge revisions 11872:11876 from trunk to gsoc2009-matevz branch - license changes 2010-03-06 00:51:54 +00:00
implicit.i securing the call to SWIG_IsOK, which is a macro 2005-12-30 01:14:24 +00:00
jstring.i add jstring.i for ruby 2005-12-30 10:51:35 +00:00
Makefile.in Whitespace cleanup of all Makefiles* 2014-05-02 20:06:11 +02:00
pyabc.i Use %{ %} instead of { } after %pythoncode 2015-03-20 13:45:19 +13:00
pyapi.swg Cosmetics - Fix bracket matching 2011-04-09 23:48:19 +00:00
pybackward.swg add more backward comp macros/fragments/methods 2006-01-28 08:59:32 +00:00
pybuffer.i changed the mapped 'SIZE' of buffer interface from the length of raw buffer to number of items in the buffer. So it would be easier to use with type other than 'char' 2009-02-10 14:21:43 +00:00
pyclasses.swg Fix Python crash when using -threads iterating containers 2014-09-23 22:33:25 +01:00
pycomplex.swg "concret" -> "concrete" 2015-10-12 11:24:07 +13:00
pycontainer.swg remove bool from as() (it now always throws). 2017-07-03 12:49:30 -06:00
pydocs.swg Use Python-ish, not C++, parameter types in Python documentation. 2014-08-22 17:45:22 +02:00
pyerrors.swg Add missing checks for failures in calls to PyUnicode_AsUTF8String. 2017-12-04 20:14:04 +00:00
pyfragments.swg Fix confusion of filenaming in comment 2007-11-19 21:32:01 +00:00
pyhead.swg Add missing checks for failures in calls to PyUnicode_AsUTF8String. 2017-12-04 20:14:04 +00:00
pyinit.swg Add missing checks for failures in calls to PyUnicode_AsUTF8String. 2017-12-04 20:14:04 +00:00
pyiterators.swg [python] make SwigPyIteratorClosed_T and SwigPyIteratorOpen_T 2017-02-11 15:26:52 +09:00
pymacros.swg add more backward comp macros/fragments/methods 2006-01-28 08:48:48 +00:00
pyname_compat.i Remove SwigPyObject_print and SwigPyObject_str, and make the generated wrapper use the default python implementations, which will fall back to repr (for -builtin option). 2013-08-07 20:22:03 +01:00
pyopers.swg Merge branch 'm7thon-python23-division-operators' 2016-11-26 22:00:21 +00:00
pyprimtypes.swg Fix one casting warning on Linux (#787) 2016-09-12 09:21:20 +12:00
pyrun.swg Add missing checks for failures in calls to PyUnicode_AsUTF8String. 2017-12-04 20:14:04 +00:00
pyruntime.swg Define _DEBUG to 1 to do exactly like /LDd, /MDd or /MTd compiler options 2017-08-31 09:43:07 -04:00
pystdcommon.swg remove bool from as() (it now always throws). 2017-07-03 12:49:30 -06:00
pystrings.swg Add missing checks for failures in calls to PyUnicode_AsUTF8String. 2017-12-04 20:14:04 +00:00
python.swg fix -external-runtime and warning arounds in subversion 2006-02-01 08:37:53 +00:00
pythonkw.swg [Python] Add missing keywords 'as' and 'with' to pythonkw.swg. 2016-02-17 14:19:08 +13:00
pythreads.swg fix extra calls to TypeQuery for 'char *' and 'wchar_t *' 2005-12-10 20:20:19 +00:00
pytuplehlp.swg Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
pytypemaps.swg handle const pointers to functions 2016-03-24 10:59:23 +01:00
pyuserdir.swg Misc. typos 2018-05-17 10:04:23 -04:00
pywstrings.swg Add support for Python Bytes/Unicode distinction 2016-02-04 20:16:41 -05:00
README Clean up Python embed.i 2016-01-27 19:01:49 +13:00
std_alloc.i better support for string and def. args, plus adding allocator + sstream 2004-12-01 01:22:30 +00:00
std_array.i Python: Fix mixed signedness warning for std::array 2016-11-23 22:21:46 +01:00
std_auto_ptr.i Add std_auto_ptr.i defining typemaps for returning std::auto_ptr<>. 2013-12-03 23:45:20 +01:00
std_basic_string.i std_basic_string.i fixes 2018-01-04 07:00:26 +00:00
std_carray.i Commited SF#2158938: change all SWIG symbols start with Py to a new name. 2008-12-03 18:43:44 +00:00
std_char_traits.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_common.i Fix STL wrappers to not generate <: digraphs. 2015-12-12 14:05:46 +00:00
std_complex.i Add missing declaration for std::complex 2017-10-02 19:07:24 +01:00
std_container.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_deque.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_except.i add std_except typemaps to the unified typemap library 2005-10-31 09:43:02 +00:00
std_ios.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_iostream.i better support for string and def. args, plus adding allocator + sstream 2004-12-01 01:22:30 +00:00
std_list.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_map.i [python] add %swig_sequence_iterator_with_making_function and 2017-02-11 15:26:52 +09:00
std_multimap.i Fix construction from dict for std::multimap std::unordered_multimap (Python 3) 2017-06-23 14:38:26 +01:00
std_multiset.i Commited SF#2158938: change all SWIG symbols start with Py to a new name. 2008-12-03 18:43:44 +00:00
std_pair.i Replicate Python memory leak fix in std::pair for Octave and Ruby 2016-12-18 20:00:40 +00:00
std_set.i [python] add %swig_sequence_iterator_with_making_function and 2017-02-11 15:26:52 +09:00
std_shared_ptr.i Add std_shared_ptr.i and document shared_ptr library 2010-06-01 19:03:55 +00:00
std_sstream.i better support for string and def. args, plus adding allocator + sstream 2004-12-01 01:22:30 +00:00
std_streambuf.i better support for string and def. args, plus adding allocator + sstream 2004-12-01 01:22:30 +00:00
std_string.i Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
std_unordered_map.i follow-up typos 2018-05-17 10:26:00 -04:00
std_unordered_multimap.i Fix construction from dict for std::multimap std::unordered_multimap (Python 3) 2017-06-23 14:38:26 +01:00
std_unordered_multiset.i [python] fix std unordered containers 2017-02-11 15:26:52 +09:00
std_unordered_set.i [python] add %swig_sequence_iterator_with_making_function and 2017-02-11 15:26:52 +09:00
std_vector.i More efficient Python slicing 2016-09-01 23:49:30 +01:00
std_vectora.i isolate language independent STD/STL/C++ code + more documentation + cleaning 2004-10-10 06:42:15 +00:00
std_wios.i allow to use iostream and sstream without wchar support, as pointed by Scott 2005-04-03 03:16:25 +00:00
std_wiostream.i add fragment warning and fixes 2006-01-30 22:22:13 +00:00
std_wsstream.i allow to use iostream and sstream without wchar support, as pointed by Scott 2005-04-03 03:16:25 +00:00
std_wstreambuf.i allow to use iostream and sstream without wchar support, as pointed by Scott 2005-04-03 03:16:25 +00:00
std_wstring.i Perl added to the Unified typemap library, cleaner way to use the library, and 'normalized' macro names 2005-10-24 14:59:05 +00:00
stl.i add initial stl.i to ensure proper file inclussion and extensions for each language 2006-01-06 00:37:31 +00:00
typemaps.i merge revisions 11872:11876 from trunk to gsoc2009-matevz branch - license changes 2010-03-06 00:51:54 +00:00
wchar.i allow to use iostream and sstream without wchar support, as pointed by Scott 2005-04-02 19:06:31 +00:00

/* -----------------------------------------------------------------------------
 *
 *  User interfaces: include these ones as needed
 *
 * ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
 *  Special types and user helpers 
 * ----------------------------------------------------------------------------- */

argcargv.i		Handler for (int argc, char **argv)
attribute.i		Convert a pair of set/get methods into a "native" python attribute
ccomplex.i		C99 complex type
complex.i		C99 or C++ complex type
cstring.i		Various forms of C character string handling
cwstring.i		Various forms of C wchar_t string handling
embed.i			embedding the Python interpreter in something else
file.i			FILE C type
implicit.i		Allow the use of implicit C++ constructors
wchar.i			wchar_t C type

/* -----------------------------------------------------------------------------
 *  C++ STD + STL
 * ----------------------------------------------------------------------------- */

std_alloc.i		allocator 
std_basic_string.i	basic string
std_char_traits.i	char traits
std_complex.i		complex
std_deque.i		deque	
std_except.i		exceptions
std_ios.i		ios
std_iostream.i		istream/ostream
std_list.i		list
std_map.i		map
std_multimap.i		multimap
std_multiset.i		multiset
std_pair.i		pair
std_set.i		set
std_sstream.i		string stream
std_streambuf.i		streambuf
std_string.i		string
std_vector.i		vector
std_wios.i		wios
std_wiostream.i		wistream/wostream
std_wsstream.i		wstring stream
std_wstreambuf.i	wstreambuf
std_wstring.i		wstring



/* -----------------------------------------------------------------------------
/* 
 *  Implementation files: don't look at them unless you are really drunk
 *
 * ----------------------------------------------------------------------------- */

/* -----------------------------------------------------------------------------
 *  Basic files
 * ----------------------------------------------------------------------------- */

python.swg		Main language file, it just includes what is needed.
pyuserdir.swg		User visible directives (%pythonnondynamic, etc)
pymacros.swg		Internal macros used for typemaps
pyfragments.swg		Allow the user to overload the default fragments
pyopers.swg		Python operations (+=, *=, etc)
pythonkw.swg		Python keywords and special names
pyinit.swg		Python Init method

/* -----------------------------------------------------------------------------
 *  The runtime part
 * ----------------------------------------------------------------------------- */

pyruntime.swg		Main runtime file definition
pyapi.swg		SWIG/Python API declarations
pyrun.swg		Python run-time code 

/* -----------------------------------------------------------------------------
 *  Internal typemap specializations
 * ----------------------------------------------------------------------------- */

pyswigtype.swg		SWIGTYPE
pystrings.swg		Char strings (char *)
pywstrings.swg		Wchar Strings (wchar_t *)
pyprimtypes.swg		Primitive types (shot,int,double,etc)
pycomplex.swg		PyComplex and helper for C/C++ complex types
pydocs.swg		Typemaps documentation

/* -----------------------------------------------------------------------------
 *  C++ STD + STL
 * ----------------------------------------------------------------------------- */

pycontainer.swg		python container iterators
std_common.i		general common code for the STD/STL implementation
std_container.i		general common code for the STD/STL containers


/*-----------------------------------------------------------------------------
 *  Backward compatibility and deprecated
 * ----------------------------------------------------------------------------- */

std_vectora.i		vector + allocator (allocators are now supported in STD/STL)
typemaps.i		old in/out typemaps (doesn't need to be included)
defarg.swg		for processing default arguments with shadow classes