Thread: [pygccxml-commit] SF.net SVN: pygccxml:[1382]
Brought to you by:
mbaas,
roman_yakovenko
From: <rom...@us...> - 2008-08-05 15:40:21
|
Revision: 1382 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1382&view=rev Author: roman_yakovenko Date: 2008-08-05 15:40:28 +0000 (Tue, 05 Aug 2008) Log Message: ----------- updating history Modified Paths: -------------- pygccxml_dev/docs/history/history.rest pyplusplus_dev/docs/history/history.rest Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2008-08-05 15:31:48 UTC (rev 1381) +++ pygccxml_dev/docs/history/history.rest 2008-08-05 15:40:28 UTC (rev 1382) @@ -25,7 +25,7 @@ ----------- -Version SVN +Version 1.0 ----------- 1. Support for ellipsis was added. @@ -53,12 +53,15 @@ 4. The recomended `GCC-XML`_ version to use with this release is CVS revision 123. This revision introduces small, but very important feature. `GCC-XML`_ started to dump artificial declarations (constructor, destructor, operator=). - ``pygccxml.declarations.type_traits`` functions were updated to use new + ``pygccxml.declarations.type_traits`` functions were updated to use the new information. 5. ``declarations.decl_printer_t`` class dumps almost all available information about a declaration. +6. ``declarations.is_same_function`` was fixed and now it treats + "covariant returns" right. + ------------- Version 0.9.5 ------------- Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2008-08-05 15:31:48 UTC (rev 1381) +++ pyplusplus_dev/docs/history/history.rest 2008-08-05 15:40:28 UTC (rev 1382) @@ -27,10 +27,10 @@ Version SVN ----------- -1. The algorithm, which calculates what member functions should be redefined in +1. The algorithm, which calculates what member functions should be redefined in derived class wrappers, was improved. Many thanks to Julian Scheid for the bug fix. - + The change explanation. .. code-block:: C++ @@ -41,9 +41,9 @@ class B: public A{ }; - - Previous version of `Py++`_ didn't generate wrapper for class ``B``, even - though ``B`` inherits ``A``'s virtual function. Now if you have the following + + Previous version of `Py++`_ didn't generate wrapper for class ``B``, even + though ``B`` inherits ``A``'s virtual function. Now if you have the following Python code: .. code-block:: Python @@ -54,13 +54,13 @@ def foo(self): print "C.foo" - then when ``foo`` is invoked on this instance on the C++ side of things, the + then when ``foo`` is invoked on this instance on the C++ side of things, the Python code won't be executed as the wrapper was missing. **Warning!** **There is a possibility that your generated code will not work!** **Keep reading.** - If you use "function transformation" functionality, than it is possible the + If you use "function transformation" functionality, than it is possible the generated code will **NOT** work. Consider next example: .. code-block:: C++ @@ -89,31 +89,31 @@ .. code-block:: C++ namespace bp = boost::python; - + struct B_wrapper : B, bp::wrapper< B > { virtual void foo( int & i ) const { ... } - + static boost::python::tuple default_foo( ::B const & inst ) { ... } - - virtual void foo( int & i ) const + + virtual void foo( int & i ) const { ... } - + static boost::python::object default_foo( ::A const & inst ) { ... } }; ... - bp::class_< B_wrapper, bp::bases< A > >( "B" ) + bp::class_< B_wrapper, bp::bases< A > >( "B" ) .def( "foo", (boost::python::tuple (*)( ::B const & ))( &B_wrapper::default_foo ) ) .def( "foo", (boost::python::object (*)( ::A const & ))( &B_wrapper::default_foo ) ); - As you can see, after applying the transformation both functions have same - signature. Do you know what function will be called in some situation? I do - + As you can see, after applying the transformation both functions have same + signature. Do you know what function will be called in some situation? I do - the wrong one :-(. - Unfortunately, there is no easy work around or some trick that you can use, + Unfortunately, there is no easy work around or some trick that you can use, which will not break the existing code. I see few solutions to the problem: - + * change the alias of the functions .. code-block:: Python @@ -129,15 +129,21 @@ * `Py++`_ can introduce a configuration, that will preserve the previous behaviour. I think this is a wrong way to go and doing the API changes is the 'right' longer term solution. - + If you **absolutely need** to preserve API backward compatible, contact me and I will introduce such configuration option. Sorry for inconvenience. -2. Few bugs, related to Indeing Suite 2, were fixed. Many thanks to Oliver Schweitzer +2. Few bugs, related to Indexing Suite 2, were fixed. Many thanks to Oliver Schweitzer for reporting them. +3. New and highly experimental feature was introduced - + `Boost.Python and ctypes integration`_. + ../documentation/ctypes_integration.html + +.. _`Boost.Python and ctypes integration` : ../documentation/ctypes_integration.html + ------------- Version 0.9.5 ------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2008-10-10 21:35:47
|
Revision: 1428 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1428&view=rev Author: roman_yakovenko Date: 2008-10-10 21:35:04 +0000 (Fri, 10 Oct 2008) Log Message: ----------- update copyright Modified Paths: -------------- developer_scripts/clean_source_dir.py developer_scripts/file_system_iter.py pydsc_dev/pydsc.py pydsc_dev/setup.py pydsc_dev/unittests/do_not_check/__init__.py pydsc_dev/unittests/tester.py pydsc_dev/unittests/to_be_tested.py pygccxml_dev/README.txt pygccxml_dev/docs/example/example.py pygccxml_dev/docs/users.rest pygccxml_dev/pygccxml/__init__.py pygccxml_dev/pygccxml/declarations/__init__.py pygccxml_dev/pygccxml/declarations/algorithm.py pygccxml_dev/pygccxml/declarations/algorithms_cache.py pygccxml_dev/pygccxml/declarations/call_invocation.py pygccxml_dev/pygccxml/declarations/calldef.py pygccxml_dev/pygccxml/declarations/class_declaration.py pygccxml_dev/pygccxml/declarations/compilers.py pygccxml_dev/pygccxml/declarations/container_traits.py pygccxml_dev/pygccxml/declarations/cpptypes.py pygccxml_dev/pygccxml/declarations/decl_factory.py pygccxml_dev/pygccxml/declarations/decl_printer.py pygccxml_dev/pygccxml/declarations/decl_visitor.py pygccxml_dev/pygccxml/declarations/declaration.py pygccxml_dev/pygccxml/declarations/dependencies.py pygccxml_dev/pygccxml/declarations/enumeration.py pygccxml_dev/pygccxml/declarations/filtering.py pygccxml_dev/pygccxml/declarations/function_traits.py pygccxml_dev/pygccxml/declarations/matcher.py pygccxml_dev/pygccxml/declarations/matchers.py pygccxml_dev/pygccxml/declarations/mdecl_wrapper.py pygccxml_dev/pygccxml/declarations/namespace.py pygccxml_dev/pygccxml/declarations/pattern_parser.py pygccxml_dev/pygccxml/declarations/scopedef.py pygccxml_dev/pygccxml/declarations/templates.py pygccxml_dev/pygccxml/declarations/type_traits.py pygccxml_dev/pygccxml/declarations/type_visitor.py pygccxml_dev/pygccxml/declarations/typedef.py pygccxml_dev/pygccxml/declarations/variable.py pygccxml_dev/pygccxml/parser/__init__.py pygccxml_dev/pygccxml/parser/config.py pygccxml_dev/pygccxml/parser/declarations_cache.py pygccxml_dev/pygccxml/parser/directory_cache.py pygccxml_dev/pygccxml/parser/etree_scanner.py pygccxml_dev/pygccxml/parser/linker.py pygccxml_dev/pygccxml/parser/patcher.py pygccxml_dev/pygccxml/parser/project_reader.py pygccxml_dev/pygccxml/parser/scanner.py pygccxml_dev/pygccxml/parser/source_reader.py pygccxml_dev/pygccxml/utils/__init__.py pygccxml_dev/pygccxml/utils/fs_utils.py pygccxml_dev/setup.py pygccxml_dev/unittests/algorithms_cache_tester.py pygccxml_dev/unittests/attributes_tester.py pygccxml_dev/unittests/autoconfig.py pygccxml_dev/unittests/better_templates_matcher_tester.py pygccxml_dev/unittests/bit_fields_tester.py pygccxml_dev/unittests/cache_enums_tester.py pygccxml_dev/unittests/cached_source_file_tester.py pygccxml_dev/unittests/call_invocation_tester.py pygccxml_dev/unittests/calldef_matcher_tester.py pygccxml_dev/unittests/complex_types_tester.py pygccxml_dev/unittests/copy_constructor_tester.py pygccxml_dev/unittests/core_tester.py pygccxml_dev/unittests/data/abstract_classes.hpp pygccxml_dev/unittests/data/attributes.hpp pygccxml_dev/unittests/data/better_templates_matcher_tester.hpp pygccxml_dev/unittests/data/bit_fields.hpp pygccxml_dev/unittests/data/complex_types.hpp pygccxml_dev/unittests/data/core_cache.hpp pygccxml_dev/unittests/data/core_class_hierarchy.hpp pygccxml_dev/unittests/data/core_diamand_hierarchy_base.hpp pygccxml_dev/unittests/data/core_diamand_hierarchy_derived1.hpp pygccxml_dev/unittests/data/core_diamand_hierarchy_derived2.hpp pygccxml_dev/unittests/data/core_diamand_hierarchy_final_derived.hpp pygccxml_dev/unittests/data/core_membership.hpp pygccxml_dev/unittests/data/core_ns_join_1.hpp pygccxml_dev/unittests/data/core_ns_join_2.hpp pygccxml_dev/unittests/data/core_ns_join_3.hpp pygccxml_dev/unittests/data/core_overloads_1.hpp pygccxml_dev/unittests/data/core_overloads_2.hpp pygccxml_dev/unittests/data/core_types.hpp pygccxml_dev/unittests/data/covariant_returns.hpp pygccxml_dev/unittests/data/declarations_calldef.hpp pygccxml_dev/unittests/data/declarations_comparison.hpp pygccxml_dev/unittests/data/declarations_enums.hpp pygccxml_dev/unittests/data/declarations_for_filtering.hpp pygccxml_dev/unittests/data/declarations_variables.hpp pygccxml_dev/unittests/data/demangled.hpp pygccxml_dev/unittests/data/free_operators.hpp pygccxml_dev/unittests/data/has_public_binary_operator_traits.hpp pygccxml_dev/unittests/data/include_all.hpp pygccxml_dev/unittests/data/include_std.hpp pygccxml_dev/unittests/data/indexing_suites2.hpp pygccxml_dev/unittests/data/patcher.hpp pygccxml_dev/unittests/data/remove_template_defaults.hpp pygccxml_dev/unittests/data/string_traits.hpp pygccxml_dev/unittests/data/type_traits.hpp pygccxml_dev/unittests/data/typedefs1.hpp pygccxml_dev/unittests/data/typedefs2.hpp pygccxml_dev/unittests/data/typedefs_base.hpp pygccxml_dev/unittests/data/unnamed_classes.hpp pygccxml_dev/unittests/data/unnamed_enums_bug1.hpp pygccxml_dev/unittests/data/unnamed_enums_bug2.hpp pygccxml_dev/unittests/data/unnamed_ns_bug.hpp pygccxml_dev/unittests/data/vector_traits.hpp pygccxml_dev/unittests/decl_printer_tester.py pygccxml_dev/unittests/decl_string_tester.py pygccxml_dev/unittests/declaration_files_tester.py pygccxml_dev/unittests/declarations_cache_tester.py pygccxml_dev/unittests/declarations_comparison_tester.py pygccxml_dev/unittests/declarations_tester.py pygccxml_dev/unittests/demangled_tester.py pygccxml_dev/unittests/dependencies_tester.py pygccxml_dev/unittests/file_cache_tester.py pygccxml_dev/unittests/filtering_tester.py pygccxml_dev/unittests/filters_tester.py pygccxml_dev/unittests/find_container_traits_tester.py pygccxml_dev/unittests/free_operators_tester.py pygccxml_dev/unittests/function_traits_tester.py pygccxml_dev/unittests/gccxml_runner_tester.py pygccxml_dev/unittests/has_binary_operator_traits_tester.py pygccxml_dev/unittests/hierarchy_traveling.py pygccxml_dev/unittests/namespace_matcher_tester.py pygccxml_dev/unittests/parser_test_case.py pygccxml_dev/unittests/patcher_tester.py pygccxml_dev/unittests/plain_c_tester.py pygccxml_dev/unittests/profile_parser.py pygccxml_dev/unittests/project_reader_correctness_tester.py pygccxml_dev/unittests/remove_template_defaults_tester.py pygccxml_dev/unittests/source_reader_tester.py pygccxml_dev/unittests/start_with_declarations_tester.py pygccxml_dev/unittests/string_traits_tester.py pygccxml_dev/unittests/templates_tester.py pygccxml_dev/unittests/test_all.py pygccxml_dev/unittests/test_performance.py pygccxml_dev/unittests/text_reader_tester.py pygccxml_dev/unittests/timeit_test_parser.py pygccxml_dev/unittests/type_as_exception_bug_tester.py pygccxml_dev/unittests/type_traits_tester.py pygccxml_dev/unittests/typedefs_tester.py pygccxml_dev/unittests/unnamed_classes_tester.py pygccxml_dev/unittests/unnamed_enums_bug_tester.py pygccxml_dev/unittests/variable_matcher_tester.py pygccxml_dev/unittests/vector_traits_tester.py pygccxml_dev/unittests/xmlfile_reader_tester.py pyplusplus_dev/README.txt pyplusplus_dev/contrib/__init__.py pyplusplus_dev/contrib/goodies/__init__.py pyplusplus_dev/contrib/goodies/dsl_interface.py pyplusplus_dev/contrib/goodies/goodie_overrides.py pyplusplus_dev/contrib/goodies/goodie_perf_overrides.py pyplusplus_dev/contrib/goodies/goodie_utils.py pyplusplus_dev/contrib/pypp_api/pypp_api/__init__.py pyplusplus_dev/contrib/pypp_api/pypp_api/modulebuilder.py pyplusplus_dev/docs/documentation/how_to/file_name_too_long.rest pyplusplus_dev/docs/documentation/how_to/hints.rest pyplusplus_dev/docs/documentation/tutorials/module_builder/generate_code.py pyplusplus_dev/docs/history/history.rest pyplusplus_dev/docs/osdc2006/generate_docs.py pyplusplus_dev/examples/custom_code_creator/generate_code.py pyplusplus_dev/examples/custom_code_creator/sconstruct pyplusplus_dev/examples/pyboost_dev/dev/boost_random/generate_code.py pyplusplus_dev/examples/pyboost_dev/dev/boost_random/random_settings.py pyplusplus_dev/examples/pyboost_dev/dev/boost_random/sconscript pyplusplus_dev/examples/pyboost_dev/dev/crc/crc_export.hpp pyplusplus_dev/examples/pyboost_dev/dev/crc/crc_settings.py pyplusplus_dev/examples/pyboost_dev/dev/crc/generate_code.py pyplusplus_dev/examples/pyboost_dev/dev/crc/sconscript pyplusplus_dev/examples/pyboost_dev/dev/date_time/customization_data.py pyplusplus_dev/examples/pyboost_dev/dev/date_time/date_time_settings.py pyplusplus_dev/examples/pyboost_dev/dev/date_time/generate_code.py pyplusplus_dev/examples/pyboost_dev/dev/date_time/sconscript pyplusplus_dev/examples/pyboost_dev/dev/rational/generate_code.py pyplusplus_dev/examples/pyboost_dev/dev/rational/rational_export.hpp pyplusplus_dev/examples/pyboost_dev/dev/rational/rational_settings.py pyplusplus_dev/examples/pyboost_dev/dev/rational/sconscript pyplusplus_dev/examples/pyboost_dev/pyboost/__init__.py pyplusplus_dev/examples/pyboost_dev/pyboost/boost_random/__init__.py pyplusplus_dev/examples/pyboost_dev/pyboost/crc/__init__.py pyplusplus_dev/examples/pyboost_dev/pyboost/date_time/__init__.py pyplusplus_dev/examples/pyboost_dev/pyboost/rational/__init__.py pyplusplus_dev/examples/pyboost_dev/sconstruct pyplusplus_dev/examples/pyboost_dev/setup.py pyplusplus_dev/examples/pyboost_dev/unittestst/boost_random/test_all.py pyplusplus_dev/examples/pyboost_dev/unittestst/crc/test_all.py pyplusplus_dev/examples/pyboost_dev/unittestst/date_time/examples.py pyplusplus_dev/examples/pyboost_dev/unittestst/date_time/gregorian_tester.py pyplusplus_dev/examples/pyboost_dev/unittestst/date_time/local_time_tester.py pyplusplus_dev/examples/pyboost_dev/unittestst/date_time/posix_time_tester.py pyplusplus_dev/examples/pyboost_dev/unittestst/date_time/test_all.py pyplusplus_dev/examples/pyboost_dev/unittestst/rational/test_all.py pyplusplus_dev/examples/pyboost_dev/unittestst/test_all.py pyplusplus_dev/examples/pyeasybmp_dev/pyeasybmp/build_setup.py pyplusplus_dev/examples/pyeasybmp_dev/pyeasybmp/environment.py pyplusplus_dev/examples/pyeasybmp_dev/pyeasybmp/generate_code.py pyplusplus_dev/examples/pyeasybmp_dev/pyeasybmp/sconstruct pyplusplus_dev/examples/pyeasybmp_dev/unittests/grayscale.py pyplusplus_dev/ide/controllers/__init__.py pyplusplus_dev/ide/controllers/controller_main.py pyplusplus_dev/ide/model/__init__.py pyplusplus_dev/ide/model/code_generator.py pyplusplus_dev/ide/model/etree_extension.py pyplusplus_dev/ide/model/settings.py pyplusplus_dev/ide/views/frame_main.py pyplusplus_dev/indexing_suite_v2/docs/indexing_suite_v2.html pyplusplus_dev/pyplusplus/__init__.py pyplusplus_dev/pyplusplus/_logging_/__init__.py pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py pyplusplus_dev/pyplusplus/code_creators/__init__.py pyplusplus_dev/pyplusplus/code_creators/algorithm.py pyplusplus_dev/pyplusplus/code_creators/array_1_registrator.py pyplusplus_dev/pyplusplus/code_creators/calldef.py pyplusplus_dev/pyplusplus/code_creators/calldef_transformed.py pyplusplus_dev/pyplusplus/code_creators/calldef_utils.py pyplusplus_dev/pyplusplus/code_creators/class_declaration.py pyplusplus_dev/pyplusplus/code_creators/code_creator.py pyplusplus_dev/pyplusplus/code_creators/compound.py pyplusplus_dev/pyplusplus/code_creators/ctypes_integration_creators.py pyplusplus_dev/pyplusplus/code_creators/custom.py pyplusplus_dev/pyplusplus/code_creators/declaration_based.py pyplusplus_dev/pyplusplus/code_creators/enum.py pyplusplus_dev/pyplusplus/code_creators/exception_translator.py pyplusplus_dev/pyplusplus/code_creators/global_variable.py pyplusplus_dev/pyplusplus/code_creators/include.py pyplusplus_dev/pyplusplus/code_creators/include_directories.py pyplusplus_dev/pyplusplus/code_creators/indexing_suites.py pyplusplus_dev/pyplusplus/code_creators/instruction.py pyplusplus_dev/pyplusplus/code_creators/license.py pyplusplus_dev/pyplusplus/code_creators/member_variable.py pyplusplus_dev/pyplusplus/code_creators/module.py pyplusplus_dev/pyplusplus/code_creators/module_body.py pyplusplus_dev/pyplusplus/code_creators/namespace.py pyplusplus_dev/pyplusplus/code_creators/opaque_type_registrator.py pyplusplus_dev/pyplusplus/code_creators/properties.py pyplusplus_dev/pyplusplus/code_creators/registration_based.py pyplusplus_dev/pyplusplus/code_creators/scoped.py pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py pyplusplus_dev/pyplusplus/code_creators/target_configuration.py pyplusplus_dev/pyplusplus/code_creators/unnamed_enum.py pyplusplus_dev/pyplusplus/code_repository/__init__.py pyplusplus_dev/pyplusplus/code_repository/array_1.py pyplusplus_dev/pyplusplus/code_repository/call_policies.py pyplusplus_dev/pyplusplus/code_repository/convenience.py pyplusplus_dev/pyplusplus/code_repository/ctypes_integration.py pyplusplus_dev/pyplusplus/code_repository/gil_guard.py pyplusplus_dev/pyplusplus/code_repository/named_tuple.py pyplusplus_dev/pyplusplus/code_repository/return_pointee_value.hpp pyplusplus_dev/pyplusplus/code_repository/return_range.py pyplusplus_dev/pyplusplus/decl_wrappers/__init__.py pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper_printer.py pyplusplus_dev/pyplusplus/decl_wrappers/doc_extractor.py pyplusplus_dev/pyplusplus/decl_wrappers/enumeration_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite2.py pyplusplus_dev/pyplusplus/decl_wrappers/namespace_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/properties.py pyplusplus_dev/pyplusplus/decl_wrappers/python_traits.py pyplusplus_dev/pyplusplus/decl_wrappers/scopedef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/user_text.py pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py pyplusplus_dev/pyplusplus/file_writers/__init__.py pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py pyplusplus_dev/pyplusplus/file_writers/md5sum_repository.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/file_writers/single_file.py pyplusplus_dev/pyplusplus/file_writers/writer.py pyplusplus_dev/pyplusplus/gui/__init__.py pyplusplus_dev/pyplusplus/gui/freeze.py pyplusplus_dev/pyplusplus/gui/ui.py pyplusplus_dev/pyplusplus/gui/ui_runner.py pyplusplus_dev/pyplusplus/messages/__init__.py pyplusplus_dev/pyplusplus/messages/warnings_.py pyplusplus_dev/pyplusplus/module_builder/__init__.py pyplusplus_dev/pyplusplus/module_builder/builder.py pyplusplus_dev/pyplusplus/module_builder/call_policies.py pyplusplus_dev/pyplusplus/module_creator/__init__.py pyplusplus_dev/pyplusplus/module_creator/call_policies_resolver.py pyplusplus_dev/pyplusplus/module_creator/creator.py pyplusplus_dev/pyplusplus/module_creator/creators_wizard.py pyplusplus_dev/pyplusplus/module_creator/dependencies_manager.py pyplusplus_dev/pyplusplus/module_creator/fake_constructors_manager.py pyplusplus_dev/pyplusplus/module_creator/opaque_types_manager.py pyplusplus_dev/pyplusplus/module_creator/sort_algorithms.py pyplusplus_dev/pyplusplus/module_creator/types_database.py pyplusplus_dev/pyplusplus/utils/__init__.py pyplusplus_dev/scripts/pyplusplus_gui pyplusplus_dev/scripts/pyplusplus_gui.pyw pyplusplus_dev/setup.py pyplusplus_dev/unittests/__init__.py pyplusplus_dev/unittests/abstract_classes_tester.py pyplusplus_dev/unittests/abstract_tester.py pyplusplus_dev/unittests/algorithms_tester.py pyplusplus_dev/unittests/already_exposed_tester.py pyplusplus_dev/unittests/arrays_bug_tester.py pyplusplus_dev/unittests/autoconfig.py pyplusplus_dev/unittests/balanced_files_tester.py pyplusplus_dev/unittests/bool_by_ref_tester.py pyplusplus_dev/unittests/bpmodule_tester.py pyplusplus_dev/unittests/bug_covariant_returns_tester.py pyplusplus_dev/unittests/call_policies_tester.py pyplusplus_dev/unittests/casting_tester.py pyplusplus_dev/unittests/class_order2_tester.py pyplusplus_dev/unittests/class_order3_tester.py pyplusplus_dev/unittests/class_order4_tester.py pyplusplus_dev/unittests/class_order_tester.py pyplusplus_dev/unittests/classes_tester.py pyplusplus_dev/unittests/constructors_bug_tester.py pyplusplus_dev/unittests/convenience_tester.py pyplusplus_dev/unittests/cp_return_addressof_tester.py pyplusplus_dev/unittests/cppexceptions_tester.py pyplusplus_dev/unittests/custom_smart_ptr_classes_tester.py pyplusplus_dev/unittests/custom_string_tester.py pyplusplus_dev/unittests/data/abstract_classes_to_be_exported.hpp pyplusplus_dev/unittests/data/abstract_to_be_exported.hpp pyplusplus_dev/unittests/data/already_exposed_2to_be_exported.hpp pyplusplus_dev/unittests/data/already_exposed_to_be_exported.hpp pyplusplus_dev/unittests/data/arrays_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/balanced_files_to_be_exported.hpp pyplusplus_dev/unittests/data/bug_covariant_returns_to_be_exported.hpp pyplusplus_dev/unittests/data/call_policies_to_be_exported.cpp pyplusplus_dev/unittests/data/call_policies_to_be_exported.hpp pyplusplus_dev/unittests/data/casting_to_be_exported.hpp pyplusplus_dev/unittests/data/class_order2_to_be_exported.hpp pyplusplus_dev/unittests/data/class_order3_to_be_exported.hpp pyplusplus_dev/unittests/data/class_order4_to_be_exported.hpp pyplusplus_dev/unittests/data/class_order_to_be_exported.hpp pyplusplus_dev/unittests/data/classes_to_be_exported.hpp pyplusplus_dev/unittests/data/convenience_to_be_exported.hpp pyplusplus_dev/unittests/data/cp_return_addressof_to_be_exported.hpp pyplusplus_dev/unittests/data/cppexceptions_to_be_exported.hpp pyplusplus_dev/unittests/data/custom_string_to_be_exported.hpp pyplusplus_dev/unittests/data/declarations_order_bug_false_to_be_exported.hpp pyplusplus_dev/unittests/data/declarations_order_bug_true_to_be_exported.hpp pyplusplus_dev/unittests/data/deepcopy_to_be_exported.hpp pyplusplus_dev/unittests/data/default_args_to_be_exported.hpp pyplusplus_dev/unittests/data/duplicate_aliases_to_be_exported.cpp pyplusplus_dev/unittests/data/duplicate_aliases_to_be_exported.hpp pyplusplus_dev/unittests/data/embeded_to_be_exported.hpp pyplusplus_dev/unittests/data/enums_exported_expected.hpp pyplusplus_dev/unittests/data/enums_to_be_exported.hpp pyplusplus_dev/unittests/data/factory_to_be_exported.cpp pyplusplus_dev/unittests/data/factory_to_be_exported.hpp pyplusplus_dev/unittests/data/filesystem_to_be_exported.hpp pyplusplus_dev/unittests/data/final_classes_to_be_exported.hpp pyplusplus_dev/unittests/data/finalizables_to_be_exported.hpp pyplusplus_dev/unittests/data/free_function_ignore_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/free_functions_to_be_exported.hpp pyplusplus_dev/unittests/data/free_operators_to_be_exported.hpp pyplusplus_dev/unittests/data/ft_constructor_to_be_exported.hpp pyplusplus_dev/unittests/data/ft_from_address_to_be_exported.hpp pyplusplus_dev/unittests/data/function_transformations_to_be_exported.hpp pyplusplus_dev/unittests/data/global_variables_to_be_exported.cpp pyplusplus_dev/unittests/data/global_variables_to_be_exported.hpp pyplusplus_dev/unittests/data/hierarchy3_to_be_exported.hpp pyplusplus_dev/unittests/data/index_operator_to_be_exported.hpp pyplusplus_dev/unittests/data/indexing_suites2_to_be_exported.hpp pyplusplus_dev/unittests/data/indexing_suites_to_be_exported.hpp pyplusplus_dev/unittests/data/inner_class_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/inner_tmpl_class_to_be_exported.hpp pyplusplus_dev/unittests/data/internal_classes_to_be_exported.hpp pyplusplus_dev/unittests/data/make_constructor_to_be_exported.hpp pyplusplus_dev/unittests/data/mem_fun_with_exception_to_be_exported.hpp pyplusplus_dev/unittests/data/member_functions_to_be_exported.cpp pyplusplus_dev/unittests/data/member_functions_to_be_exported.hpp pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.cpp pyplusplus_dev/unittests/data/member_variables_protected_to_be_exported.hpp pyplusplus_dev/unittests/data/member_variables_to_be_exported.cpp pyplusplus_dev/unittests/data/member_variables_to_be_exported.hpp pyplusplus_dev/unittests/data/module_body_to_be_exported.hpp pyplusplus_dev/unittests/data/namespaces_to_be_exported.hpp pyplusplus_dev/unittests/data/no_init_to_be_exported.hpp pyplusplus_dev/unittests/data/non_overridable_to_be_exported.cpp pyplusplus_dev/unittests/data/non_overridable_to_be_exported.hpp pyplusplus_dev/unittests/data/noncopyable_to_be_exported.hpp pyplusplus_dev/unittests/data/operators_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/operators_to_be_exported.hpp pyplusplus_dev/unittests/data/optional_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/optional_to_be_exported.hpp pyplusplus_dev/unittests/data/overloads_macro_to_be_exported.hpp pyplusplus_dev/unittests/data/override_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/overriden_virtual_functions_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/pointer_as_arg_to_be_exported.hpp pyplusplus_dev/unittests/data/pointer_to_function_as_argument_to_be_exported.hpp pyplusplus_dev/unittests/data/precompiled_header_to_be_exported.hpp pyplusplus_dev/unittests/data/private_assign_to_be_exported.hpp pyplusplus_dev/unittests/data/properties_to_be_exported.hpp pyplusplus_dev/unittests/data/protected_to_be_exported.hpp pyplusplus_dev/unittests/data/recursive_to_be_exported.hpp pyplusplus_dev/unittests/data/regression1_to_be_exported.hpp pyplusplus_dev/unittests/data/regression2_to_be_exported.hpp pyplusplus_dev/unittests/data/regression3_to_be_exported.hpp pyplusplus_dev/unittests/data/return_auto_ptr_to_be_exported.hpp pyplusplus_dev/unittests/data/smart_pointers_to_be_exported.cpp pyplusplus_dev/unittests/data/smart_pointers_to_be_exported.hpp pyplusplus_dev/unittests/data/special_operators_to_be_exported.hpp pyplusplus_dev/unittests/data/split_module_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/split_module_indexing_suite_bug_to_be_exported.hpp pyplusplus_dev/unittests/data/split_module_to_be_exported.hpp pyplusplus_dev/unittests/data/statics_to_be_exported.cpp pyplusplus_dev/unittests/data/statics_to_be_exported.hpp pyplusplus_dev/unittests/data/templates_to_be_exported.hpp pyplusplus_dev/unittests/data/temporary_variable_to_be_exported.hpp pyplusplus_dev/unittests/data/throw_to_be_exported.cpp pyplusplus_dev/unittests/data/throw_to_be_exported.hpp pyplusplus_dev/unittests/data/unnamed_classes_to_be_exported.hpp pyplusplus_dev/unittests/data/unnamed_enums_to_be_exported.hpp pyplusplus_dev/unittests/data/user_text_to_be_exported.hpp pyplusplus_dev/unittests/data/vector3_to_be_exported.cpp pyplusplus_dev/unittests/data/vector3_to_be_exported.hpp pyplusplus_dev/unittests/declarations_order_bug_tester.py pyplusplus_dev/unittests/deepcopy_tester.py pyplusplus_dev/unittests/default_args_tester.py pyplusplus_dev/unittests/duplicate_aliases_tester.py pyplusplus_dev/unittests/dwrapper_printer_tester.py pyplusplus_dev/unittests/embeded_tester.py pyplusplus_dev/unittests/enums_tester.py pyplusplus_dev/unittests/exposed_decls_db_tester.py pyplusplus_dev/unittests/factory_tester.py pyplusplus_dev/unittests/final_classes_tester.py pyplusplus_dev/unittests/finalizables_tester.py pyplusplus_dev/unittests/free_function_ignore_bug_tester.py pyplusplus_dev/unittests/free_functions_tester.py pyplusplus_dev/unittests/free_operators_tester.py pyplusplus_dev/unittests/ft_from_address_tester.py pyplusplus_dev/unittests/ft_inout_tester.py pyplusplus_dev/unittests/function_transformations_tester.py pyplusplus_dev/unittests/fundamental_tester_base.py pyplusplus_dev/unittests/global_variables_tester.py pyplusplus_dev/unittests/gui_tester.py pyplusplus_dev/unittests/gui_wizard_tester.py pyplusplus_dev/unittests/hierarchy3_tester.py pyplusplus_dev/unittests/include_exclude_bug_tester.py pyplusplus_dev/unittests/index_operator_tester.py pyplusplus_dev/unittests/indexing_suites2_tester.py pyplusplus_dev/unittests/indexing_suites_tester.py pyplusplus_dev/unittests/inner_class_bug_tester.py pyplusplus_dev/unittests/inner_tmpl_class_tester.py pyplusplus_dev/unittests/internal_classes_tester.py pyplusplus_dev/unittests/mailing_list_help_tester.py pyplusplus_dev/unittests/make_constructor_tester.py pyplusplus_dev/unittests/mdecl_wrapper_tester.py pyplusplus_dev/unittests/mem_fun_with_exception_tester.py pyplusplus_dev/unittests/member_functions_tester.py pyplusplus_dev/unittests/member_variables_tester.py pyplusplus_dev/unittests/module_body_tester.py pyplusplus_dev/unittests/module_properties_tester.py pyplusplus_dev/unittests/namespaces_tester.py pyplusplus_dev/unittests/no_init_tester.py pyplusplus_dev/unittests/non_overridable_tester.py pyplusplus_dev/unittests/noncopyable_tester.py pyplusplus_dev/unittests/ogre_generate_tester.py pyplusplus_dev/unittests/operators_bug_tester.py pyplusplus_dev/unittests/operators_tester.py pyplusplus_dev/unittests/optional_bug_tester.py pyplusplus_dev/unittests/optional_tester.py pyplusplus_dev/unittests/overloads_macro_tester.py pyplusplus_dev/unittests/override_bug_tester.py pyplusplus_dev/unittests/overriden_virtual_functions_bug_tester.py pyplusplus_dev/unittests/particle_universe_generate_tester.py pyplusplus_dev/unittests/pointer_as_arg_tester.py pyplusplus_dev/unittests/pointer_to_function_as_argument.py pyplusplus_dev/unittests/precompiled_header_tester.py pyplusplus_dev/unittests/private_assign_tester.py pyplusplus_dev/unittests/properties_tester.py pyplusplus_dev/unittests/protected_tester.py pyplusplus_dev/unittests/recursive_tester.py pyplusplus_dev/unittests/regression1_tester.py pyplusplus_dev/unittests/regression2_tester.py pyplusplus_dev/unittests/regression3_tester.py pyplusplus_dev/unittests/return_auto_ptr_tester.py pyplusplus_dev/unittests/smart_pointers_tester.py pyplusplus_dev/unittests/special_operators_tester.py pyplusplus_dev/unittests/split_module_bug_tester.py pyplusplus_dev/unittests/split_module_indexing_suite_bug_tester.py pyplusplus_dev/unittests/split_module_tester.py pyplusplus_dev/unittests/statics_tester.py pyplusplus_dev/unittests/templates_tester.py pyplusplus_dev/unittests/temporary_variable_tester.py pyplusplus_dev/unittests/test_all.py pyplusplus_dev/unittests/throw_tester.py pyplusplus_dev/unittests/tnfox_bugs_tester.py pyplusplus_dev/unittests/transfer_ownership_old_tester.py pyplusplus_dev/unittests/transfer_ownership_tester.py pyplusplus_dev/unittests/unions_tester.py pyplusplus_dev/unittests/unnamed_classes_tester.py pyplusplus_dev/unittests/unnamed_enums_tester.py pyplusplus_dev/unittests/user_text_tester.py pyplusplus_dev/unittests/vector3_tester.py pyplusplus_dev/unittests/vector_with_shared_data_tester.py tags/pygccxml_dev_0.9.5/README.txt tags/pygccxml_dev_0.9.5/docs/example/example.py tags/pygccxml_dev_0.9.5/pygccxml/__init__.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/__init__.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/algorithm.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/algorithms_cache.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/call_invocation.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/calldef.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/class_declaration.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/container_traits.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/cpptypes.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/decl_factory.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/decl_printer.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/decl_visitor.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/declaration.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/dependencies.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/enumeration.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/filtering.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/function_traits.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/matcher.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/matchers.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/mdecl_wrapper.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/namespace.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/pattern_parser.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/scopedef.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/templates.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/type_traits.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/type_visitor.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/typedef.py tags/pygccxml_dev_0.9.5/pygccxml/declarations/variable.py tags/pygccxml_dev_0.9.5/pygccxml/parser/__init__.py tags/pygccxml_dev_0.9.5/pygccxml/parser/config.py tags/pygccxml_dev_0.9.5/pygccxml/parser/declarations_cache.py tags/pygccxml_dev_0.9.5/pygccxml/parser/directory_cache.py tags/pygccxml_dev_0.9.5/pygccxml/parser/etree_scanner.py tags/pygccxml_dev_0.9.5/pygccxml/parser/linker.py tags/pygccxml_dev_0.9.5/pygccxml/parser/patcher.py tags/pygccxml_dev_0.9.5/pygccxml/parser/project_reader.py tags/pygccxml_dev_0.9.5/pygccxml/parser/scanner.py tags/pygccxml_dev_0.9.5/pygccxml/parser/source_reader.py tags/pygccxml_dev_0.9.5/pygccxml/parser/synopsis_scanner.py tags/pygccxml_dev_0.9.5/pygccxml/utils/__init__.py tags/pygccxml_dev_0.9.5/setup.py tags/pygccxml_dev_0.9.5/unittests/algorithms_cache_tester.py tags/pygccxml_dev_0.9.5/unittests/attributes_tester.py tags/pygccxml_dev_0.9.5/unittests/autoconfig.py tags/pygccxml_dev_0.9.5/unittests/bit_fields_tester.py tags/pygccxml_dev_0.9.5/unittests/cache_enums_tester.py tags/pygccxml_dev_0.9.5/unittests/cached_source_file_tester.py tags/pygccxml_dev_0.9.5/unittests/call_invocation_tester.py tags/pygccxml_dev_0.9.5/unittests/calldef_matcher_tester.py tags/pygccxml_dev_0.9.5/unittests/complex_types_tester.py tags/pygccxml_dev_0.9.5/unittests/copy_constructor_tester.py tags/pygccxml_dev_0.9.5/unittests/core_tester.py tags/pygccxml_dev_0.9.5/unittests/data/abstract_classes.hpp tags/pygccxml_dev_0.9.5/unittests/data/attributes.hpp tags/pygccxml_dev_0.9.5/unittests/data/bit_fields.hpp tags/pygccxml_dev_0.9.5/unittests/data/complex_types.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_cache.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_class_hierarchy.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_diamand_hierarchy_base.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_diamand_hierarchy_derived1.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_diamand_hierarchy_derived2.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_diamand_hierarchy_final_derived.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_membership.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_ns_join_1.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_ns_join_2.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_ns_join_3.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_overloads_1.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_overloads_2.hpp tags/pygccxml_dev_0.9.5/unittests/data/core_types.hpp tags/pygccxml_dev_0.9.5/unittests/data/declarations_calldef.hpp tags/pygccxml_dev_0.9.5/unittests/data/declarations_comparison.hpp tags/pygccxml_dev_0.9.5/unittests/data/declarations_enums.hpp tags/pygccxml_dev_0.9.5/unittests/data/declarations_for_filtering.hpp tags/pygccxml_dev_0.9.5/unittests/data/declarations_variables.hpp tags/pygccxml_dev_0.9.5/unittests/data/demangled.hpp tags/pygccxml_dev_0.9.5/unittests/data/free_operators.hpp tags/pygccxml_dev_0.9.5/unittests/data/has_public_binary_operator_traits.hpp tags/pygccxml_dev_0.9.5/unittests/data/include_all.hpp tags/pygccxml_dev_0.9.5/unittests/data/include_std.hpp tags/pygccxml_dev_0.9.5/unittests/data/indexing_suites2.hpp tags/pygccxml_dev_0.9.5/unittests/data/patcher.hpp tags/pygccxml_dev_0.9.5/unittests/data/remove_template_defaults.hpp tags/pygccxml_dev_0.9.5/unittests/data/string_traits.hpp tags/pygccxml_dev_0.9.5/unittests/data/type_traits.hpp tags/pygccxml_dev_0.9.5/unittests/data/typedefs1.hpp tags/pygccxml_dev_0.9.5/unittests/data/typedefs2.hpp tags/pygccxml_dev_0.9.5/unittests/data/typedefs_base.hpp tags/pygccxml_dev_0.9.5/unittests/data/unnamed_classes.hpp tags/pygccxml_dev_0.9.5/unittests/data/unnamed_enums_bug1.hpp tags/pygccxml_dev_0.9.5/unittests/data/unnamed_enums_bug2.hpp tags/pygccxml_dev_0.9.5/unittests/data/unnamed_ns_bug.hpp tags/pygccxml_dev_0.9.5/unittests/data/vector_traits.hpp tags/pygccxml_dev_0.9.5/unittests/decl_printer_tester.py tags/pygccxml_dev_0.9.5/unittests/decl_string_tester.py tags/pygccxml_dev_0.9.5/unittests/declaration_files_tester.py tags/pygccxml_dev_0.9.5/unittests/declarations_cache_tester.py tags/pygccxml_dev_0.9.5/unittests/declarations_comparison_tester.py tags/pygccxml_dev_0.9.5/unittests/declarations_tester.py tags/pygccxml_dev_0.9.5/unittests/demangled_tester.py tags/pygccxml_dev_0.9.5/unittests/dependencies_tester.py tags/pygccxml_dev_0.9.5/unittests/file_cache_tester.py tags/pygccxml_dev_0.9.5/unittests/filtering_tester.py tags/pygccxml_dev_0.9.5/unittests/filters_tester.py tags/pygccxml_dev_0.9.5/unittests/find_container_traits_tester.py tags/pygccxml_dev_0.9.5/unittests/free_operators_tester.py tags/pygccxml_dev_0.9.5/unittests/gccxml_runner_tester.py tags/pygccxml_dev_0.9.5/unittests/has_binary_operator_traits_tester.py tags/pygccxml_dev_0.9.5/unittests/hierarchy_traveling.py tags/pygccxml_dev_0.9.5/unittests/namespace_matcher_tester.py tags/pygccxml_dev_0.9.5/unittests/parser_test_case.py tags/pygccxml_dev_0.9.5/unittests/patcher_tester.py tags/pygccxml_dev_0.9.5/unittests/profile_parser.py tags/pygccxml_dev_0.9.5/unittests/project_reader_correctness_tester.py tags/pygccxml_dev_0.9.5/unittests/remove_template_defaults_tester.py tags/pygccxml_dev_0.9.5/unittests/source_reader_tester.py tags/pygccxml_dev_0.9.5/unittests/start_with_declarations_tester.py tags/pygccxml_dev_0.9.5/unittests/string_traits_tester.py tags/pygccxml_dev_0.9.5/unittests/templates_tester.py tags/pygccxml_dev_0.9.5/unittests/test_all.py tags/pygccxml_dev_0.9.5/unittests/test_performance.py tags/pygccxml_dev_0.9.5/unittests/text_reader_tester.py tags/pygccxml_dev_0.9.5/unittests/timeit_test_parser.py tags/pygccxml_dev_0.9.5/unittests/type_as_exception_bug_tester.py tags/pygccxml_dev_0.9.5/unittests/type_traits_tester.py tags/pygccxml_dev_0.9.5/unittests/typedefs_tester.py tags/pygccxml_dev_0.9.5/unittests/unnamed_classes_tester.py tags/pygccxml_dev_0.9.5/unittests/unnamed_enums_bug_tester.py tags/pygccxml_dev_0.9.5/unittests/variable_matcher_tester.py tags/pygccxml_dev_0.9.5/unittests/vector_traits_tester.py tags/pygccxml_dev_0.9.5/unittests/xmlfile_reader_tester.py tags/pyplusplus_dev_0.9.5/README.txt tags/pyplusplus_dev_0.9.5/contrib/__init__.py tags/pyplusplus_dev_0.9.5/contrib/goodies/__init__.py tags/pyplusplus_dev_0.9.5/contrib/goodies/dsl_interface.py tags/pyplusplus_dev_0.9.5/contrib/goodies/goodie_overrides.py tags/pyplusplus_dev_0.9.5/contrib/goodies/goodie_perf_overrides.py tags/pyplusplus_dev_0.9.5/contrib/goodies/goodie_utils.py tags/pyplusplus_dev_0.9.5/contrib/pypp_api/pypp_api/__init__.py tags/pyplusplus_dev_0.9.5/contrib/pypp_api/pypp_api/modulebuilder.py tags/pyplusplus_dev_0.9.5/docs/documentation/tutorials/module_builder/generate_code.py tags/pyplusplus_dev_0.9.5/docs/osdc2006/generate_docs.py tags/pyplusplus_dev_0.9.5/examples/custom_code_creator/generate_code.py tags/pyplusplus_dev_0.9.5/examples/custom_code_creator/sconstruct tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/boost_random/generate_code.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/boost_random/random_settings.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/boost_random/sconscript tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/crc/crc_export.hpp tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/crc/crc_settings.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/crc/generate_code.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/crc/sconscript tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/date_time/customization_data.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/date_time/date_time_settings.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/date_time/generate_code.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/date_time/sconscript tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/rational/generate_code.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/rational/rational_export.hpp tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/rational/rational_settings.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/dev/rational/sconscript tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/pyboost/__init__.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/pyboost/boost_random/__init__.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/pyboost/crc/__init__.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/pyboost/date_time/__init__.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/pyboost/rational/__init__.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/sconstruct tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/setup.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/boost_random/test_all.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/crc/test_all.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/date_time/examples.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/date_time/gregorian_tester.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/date_time/local_time_tester.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/date_time/posix_time_tester.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/date_time/test_all.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/rational/test_all.py tags/pyplusplus_dev_0.9.5/examples/pyboost_dev/unittestst/test_all.py tags/pyplusplus_dev_0.9.5/examples/pyeasybmp_dev/pyeasybmp/build_setup.py tags/pyplusplus_dev_0.9.5/examples/pyeasybmp_dev/pyeasybmp/environment.py tags/pyplusplus_dev_0.9.5/examples/pyeasybmp_dev/pyeasybmp/generate_code.py tags/pyplusplus_dev_0.9.5/examples/pyeasybmp_dev/pyeasybmp/sconstruct tags/pyplusplus_dev_0.9.5/examples/pyeasybmp_dev/unittests/grayscale.py tags/pyplusplus_dev_0.9.5/ide/controllers/__init__.py tags/pyplusplus_dev_0.9.5/ide/controllers/controller_main.py tags/pyplusplus_dev_0.9.5/ide/model/__init__.py tags/pyplusplus_dev_0.9.5/ide/model/code_generator.py tags/pyplusplus_dev_0.9.5/ide/model/etree_extension.py tags/pyplusplus_dev_0.9.5/ide/model/settings.py tags/pyplusplus_dev_0.9.5/ide/views/frame_main.py tags/pyplusplus_dev_0.9.5/pyplusplus/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/_logging_/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/_logging_/multi_line_formatter.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/algorithm.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/array_1_registrator.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/calldef.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/calldef_transformed.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/calldef_utils.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/class_declaration.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/code_creator.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/compound.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/custom.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/declaration_based.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/enum.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/exception_translator.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/global_variable.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/include.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/include_directories.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/indexing_suites.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/instruction.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/license.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/member_variable.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/module.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/module_body.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/namespace.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/opaque_type_registrator.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/properties.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/registration_based.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/scoped.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/smart_pointers.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/target_configuration.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_creators/unnamed_enum.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/array_1.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/call_policies.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/convenience.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/gil_guard.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/named_tuple.py tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/return_pointee_value.hpp tags/pyplusplus_dev_0.9.5/pyplusplus/code_repository/return_range.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/algorithm.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/call_policies.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/calldef_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/class_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/decl_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/decl_wrapper_printer.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/doc_extractor.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/enumeration_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/indexing_suite1.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/indexing_suite2.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/namespace_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/properties.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/python_traits.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/scopedef_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/typedef_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/user_text.py tags/pyplusplus_dev_0.9.5/pyplusplus/decl_wrappers/variable_wrapper.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/class_multiple_files.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/md5sum_repository.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/multiple_files.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/single_file.py tags/pyplusplus_dev_0.9.5/pyplusplus/file_writers/writer.py tags/pyplusplus_dev_0.9.5/pyplusplus/gui/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/gui/freeze.py tags/pyplusplus_dev_0.9.5/pyplusplus/gui/ui.py tags/pyplusplus_dev_0.9.5/pyplusplus/gui/ui_runner.py tags/pyplusplus_dev_0.9.5/pyplusplus/messages/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/messages/warnings_.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_builder/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_builder/builder.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_builder/call_policies.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/__init__.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/call_policies_resolver.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/creator.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/creators_wizard.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/dependencies_manager.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/opaque_types_manager.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/sort_algorithms.py tags/pyplusplus_dev_0.9.5/pyplusplus/module_creator/types_database.py tags/pyplusplus_dev_0.9.5/pyplusplus/utils/__init__.py tags/pyplusplus_dev_0.9.5/scripts/pyplusplus_gui tags/pyplusplus_dev_0.9.5/scripts/pyplusplus_gui.pyw tags/pyplusplus_dev_0.9.5/setup.py tags/pyplusplus_dev_0.9.5/unittests/__init__.py tags/pyplusplus_dev_0.9.5/unittests/abstract_classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/abstract_tester.py tags/pyplusplus_dev_0.9.5/unittests/algorithms_tester.py tags/pyplusplus_dev_0.9.5/unittests/already_exposed_tester.py tags/pyplusplus_dev_0.9.5/unittests/arrays_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/autoconfig.py tags/pyplusplus_dev_0.9.5/unittests/balanced_files_tester.py tags/pyplusplus_dev_0.9.5/unittests/bpmodule_tester.py tags/pyplusplus_dev_0.9.5/unittests/call_policies_tester.py tags/pyplusplus_dev_0.9.5/unittests/casting_tester.py tags/pyplusplus_dev_0.9.5/unittests/class_order2_tester.py tags/pyplusplus_dev_0.9.5/unittests/class_order3_tester.py tags/pyplusplus_dev_0.9.5/unittests/class_order4_tester.py tags/pyplusplus_dev_0.9.5/unittests/class_order_tester.py tags/pyplusplus_dev_0.9.5/unittests/classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/constructors_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/convenience_tester.py tags/pyplusplus_dev_0.9.5/unittests/cppexceptions_tester.py tags/pyplusplus_dev_0.9.5/unittests/custom_smart_ptr_classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/custom_string_tester.py tags/pyplusplus_dev_0.9.5/unittests/data/abstract_classes_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/abstract_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/already_exposed_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/arrays_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/balanced_files_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/call_policies_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/call_policies_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/casting_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/class_order2_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/class_order3_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/class_order4_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/class_order_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/classes_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/convenience_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/cppexceptions_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/custom_string_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/declarations_order_bug_false_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/declarations_order_bug_true_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/default_args_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/duplicate_aliases_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/duplicate_aliases_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/enums_exported_expected.hpp tags/pyplusplus_dev_0.9.5/unittests/data/enums_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/factory_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/factory_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/filesystem_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/final_classes_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/finalizables_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/free_function_ignore_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/free_functions_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/free_operators_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/ft_constructor_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/function_transformations_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/global_variables_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/global_variables_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/hierarchy3_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/index_operator_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/indexing_suites2_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/indexing_suites_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/inner_class_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/internal_classes_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/mem_fun_with_exception_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/member_functions_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/member_functions_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/member_variables_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/member_variables_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/module_body_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/namespaces_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/no_init_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/non_overridable_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/non_overridable_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/noncopyable_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/operators_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/operators_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/optional_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/optional_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/overloads_macro_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/overriden_virtual_functions_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/pointer_as_arg_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/pointer_to_function_as_argument_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/precompiled_header_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/private_assign_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/properties_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/protected_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/recursive_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/regression1_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/regression2_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/regression3_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/smart_pointers_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/smart_pointers_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/special_operators_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/split_module_bug_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/split_module_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/statics_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/statics_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/templates_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/temporary_variable_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/throw_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/throw_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/unnamed_classes_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/unnamed_enums_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/user_text_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/data/vector3_to_be_exported.cpp tags/pyplusplus_dev_0.9.5/unittests/data/vector3_to_be_exported.hpp tags/pyplusplus_dev_0.9.5/unittests/declarations_order_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/default_args_tester.py tags/pyplusplus_dev_0.9.5/unittests/duplicate_aliases_tester.py tags/pyplusplus_dev_0.9.5/unittests/dwrapper_printer_tester.py tags/pyplusplus_dev_0.9.5/unittests/enums_tester.py tags/pyplusplus_dev_0.9.5/unittests/exposed_decls_db_tester.py tags/pyplusplus_dev_0.9.5/unittests/factory_tester.py tags/pyplusplus_dev_0.9.5/unittests/final_classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/finalizables_tester.py tags/pyplusplus_dev_0.9.5/unittests/free_function_ignore_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/free_functions_tester.py tags/pyplusplus_dev_0.9.5/unittests/free_operators_tester.py tags/pyplusplus_dev_0.9.5/unittests/function_transformations_tester.py tags/pyplusplus_dev_0.9.5/unittests/fundamental_tester_base.py tags/pyplusplus_dev_0.9.5/unittests/global_variables_tester.py tags/pyplusplus_dev_0.9.5/unittests/gui_tester.py tags/pyplusplus_dev_0.9.5/unittests/gui_wizard_tester.py tags/pyplusplus_dev_0.9.5/unittests/hierarchy3_tester.py tags/pyplusplus_dev_0.9.5/unittests/include_exclude_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/index_operator_tester.py tags/pyplusplus_dev_0.9.5/unittests/indexing_suites2_tester.py tags/pyplusplus_dev_0.9.5/unittests/indexing_suites_tester.py tags/pyplusplus_dev_0.9.5/unittests/inner_class_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/internal_classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/mailing_list_help_tester.py tags/pyplusplus_dev_0.9.5/unittests/mdecl_wrapper_tester.py tags/pyplusplus_dev_0.9.5/unittests/mem_fun_with_exception_tester.py tags/pyplusplus_dev_0.9.5/unittests/member_functions_tester.py tags/pyplusplus_dev_0.9.5/unittests/member_variables_tester.py tags/pyplusplus_dev_0.9.5/unittests/module_body_tester.py tags/pyplusplus_dev_0.9.5/unittests/module_properties_tester.py tags/pyplusplus_dev_0.9.5/unittests/namespaces_tester.py tags/pyplusplus_dev_0.9.5/unittests/no_init_tester.py tags/pyplusplus_dev_0.9.5/unittests/non_overridable_tester.py tags/pyplusplus_dev_0.9.5/unittests/noncopyable_tester.py tags/pyplusplus_dev_0.9.5/unittests/ogre_generate_tester.py tags/pyplusplus_dev_0.9.5/unittests/operators_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/operators_tester.py tags/pyplusplus_dev_0.9.5/unittests/optional_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/optional_tester.py tags/pyplusplus_dev_0.9.5/unittests/overloads_macro_tester.py tags/pyplusplus_dev_0.9.5/unittests/overriden_virtual_functions_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/pointer_as_arg_tester.py tags/pyplusplus_dev_0.9.5/unittests/pointer_to_function_as_argument.py tags/pyplusplus_dev_0.9.5/unittests/precompiled_header_tester.py tags/pyplusplus_dev_0.9.5/unittests/private_assign_tester.py tags/pyplusplus_dev_0.9.5/unittests/properties_tester.py tags/pyplusplus_dev_0.9.5/unittests/protected_tester.py tags/pyplusplus_dev_0.9.5/unittests/recursive_tester.py tags/pyplusplus_dev_0.9.5/unittests/regression1_tester.py tags/pyplusplus_dev_0.9.5/unittests/regression2_tester.py tags/pyplusplus_dev_0.9.5/unittests/regression3_tester.py tags/pyplusplus_dev_0.9.5/unittests/smart_pointers_tester.py tags/pyplusplus_dev_0.9.5/unittests/special_operators_tester.py tags/pyplusplus_dev_0.9.5/unittests/split_module_bug_tester.py tags/pyplusplus_dev_0.9.5/unittests/split_module_tester.py tags/pyplusplus_dev_0.9.5/unittests/statics_tester.py tags/pyplusplus_dev_0.9.5/unittests/templates_tester.py tags/pyplusplus_dev_0.9.5/unittests/temporary_variable_tester.py tags/pyplusplus_dev_0.9.5/unittests/test_all.py tags/pyplusplus_dev_0.9.5/unittests/throw_tester.py tags/pyplusplus_dev_0.9.5/unittests/tnfox_bugs_tester.py tags/pyplusplus_dev_0.9.5/unittests/transfer_ownership_old_tester.py tags/pyplusplus_dev_0.9.5/unittests/transfer_ownership_tester.py tags/pyplusplus_dev_0.9.5/unittests/unnamed_classes_tester.py tags/pyplusplus_dev_0.9.5/unittests/unnamed_enums_tester.py tags/pyplusplus_dev_0.9.5/unittests/user_text_tester.py tags/pyplusplus_dev_0.9.5/unittests/vector3_tester.py tags/pyplusplus_dev_0.9.5/unittests/vector_with_shared_data_tester.py website/site_creator/file_system_iter.py Added Paths: ----------- pyplusplus_dev/docs/documentation/indexing_suite_v2_files/overview.png pyplusplus_dev/docs/documentation/indexing_suite_v2_files/proxy.png pyplusplus_dev/docs/documentation/indexing_suite_v2_files/proxy_detached.png pyplusplus_dev/indexing_suite_v2/docs/indexing_suite_v2_files/overview.png pyplusplus_dev/indexing_suite_v2/docs/indexing_suite_v2_files/proxy.png pyplusplus_dev/indexing_suite_v2/docs/indexing_suite_v2_files/proxy_detached.png Modified: developer_scripts/clean_source_dir.py =================================================================== --- developer_scripts/clean_source_dir.py 2008-10-06 15:01:03 UTC (rev 1427) +++ developer_scripts/clean_source_dir.py 2008-10-10 21:35:04 UTC (rev 1428) @@ -1,4 +1,4 @@ -# Copyright 2004 Roman Yakovenko. +# Copyright 2004-2008 Roman Yakovenko. # 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) Modified: developer_scripts/file_system_iter.py =========... [truncated message content] |
From: <rom...@us...> - 2008-10-12 13:34:19
|
Revision: 1432 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1432&view=rev Author: roman_yakovenko Date: 2008-10-12 13:34:12 +0000 (Sun, 12 Oct 2008) Log Message: ----------- update docs Modified Paths: -------------- pyplusplus_dev/docs/history/history.rest website/site_creator/environment.py Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2008-10-12 10:22:11 UTC (rev 1431) +++ pyplusplus_dev/docs/history/history.rest 2008-10-12 13:34:12 UTC (rev 1432) @@ -298,7 +298,7 @@ 4. New "Py++" defined `return_pointee_value`_ call policy was introduced. -.. _`return_pointee_value` : ../documentation/functions/call_policies.html#py-defined-call-policies +.. _`return_pointee_value` : ../documentation/functions/call_policies/return_pointee_value.html 5. Support for opaque types was added. Read more about this feature `here`__. Modified: website/site_creator/environment.py =================================================================== --- website/site_creator/environment.py 2008-10-12 10:22:11 UTC (rev 1431) +++ website/site_creator/environment.py 2008-10-12 13:34:12 UTC (rev 1432) @@ -21,8 +21,8 @@ production_dir = os.path.join( os.path.split( sources_root )[0], 'production' ) production_www_dir = os.path.join( production_dir, 'www') configuration_file = 'www_configuration' - #templates_dir = os.path.join( development_dir, 'templates', 'offline' ) - templates_dir = os.path.join( development_dir, 'templates', 'online' ) + templates_dir = os.path.join( development_dir, 'templates', 'offline' ) + #templates_dir = os.path.join( development_dir, 'templates', 'online' ) site_css = 'language_binding.css' home_url = 'http://www.language-binding.net' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-07 18:54:14
|
Revision: 1547 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1547&view=rev Author: roman_yakovenko Date: 2009-01-07 18:54:07 +0000 (Wed, 07 Jan 2009) Log Message: ----------- updating to gccxml revision 1.127 Revision Links: -------------- http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1&view=rev Modified Paths: -------------- gccxml_bin/v09/win32/bin/gccxml.exe gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config gccxml_bin/v09/win32/share/man/man1/gccxml.1 pygccxml_dev/unittests/type_traits_tester.py Modified: gccxml_bin/v09/win32/bin/gccxml.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_cc1plus.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/bin/gccxml_vcconfig.exe =================================================================== (Binary files differ) Modified: gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config =================================================================== --- gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config 2009-01-07 18:35:33 UTC (rev 1546) +++ gccxml_bin/v09/win32/share/gccxml-0.9/gccxml_config 2009-01-07 18:54:07 UTC (rev 1547) @@ -1,2 +1,2 @@ -GCCXML_COMPILER="msvc90" +GCCXML_COMPILER="cl" GCCXML_CXXFLAGS=" /DWIN32 /D_WINDOWS /W3 /Zm1000 /GX /GR" Modified: gccxml_bin/v09/win32/share/man/man1/gccxml.1 =================================================================== --- gccxml_bin/v09/win32/share/man/man1/gccxml.1 2009-01-07 18:35:33 UTC (rev 1546) +++ gccxml_bin/v09/win32/share/man/man1/gccxml.1 2009-01-07 18:54:07 UTC (rev 1547) @@ -1,4 +1,4 @@ -.TH GCC-XML 1 "December 22, 2008" "GCC-XML 0.9.0" +.TH GCC-XML 1 "January 05, 2009" "GCC-XML 0.9.0" .SH NAME .TP .B gccxml Modified: pygccxml_dev/unittests/type_traits_tester.py =================================================================== --- pygccxml_dev/unittests/type_traits_tester.py 2009-01-07 18:35:33 UTC (rev 1546) +++ pygccxml_dev/unittests/type_traits_tester.py 2009-01-07 18:54:07 UTC (rev 1547) @@ -253,8 +253,30 @@ self.failUnless( len( ci.declarations ) == 3 ) #copy constructor, destructor, variable +#~ class tester_diff_t( parser_test_case.parser_test_case_t ): + #~ COMPILATION_MODE = parser.COMPILATION_MODE.ALL_AT_ONCE + #~ declarations = None + #~ def __init__(self, *args ): + #~ parser_test_case.parser_test_case_t.__init__( self, *args ) + #~ self.header = 'type_traits.hpp' + #~ self.declarations = None + + #~ def setUp(self): + #~ if not tester_t.declarations: + #~ tester_t.declarations = parser.parse( [self.header], self.config ) + #~ self.declarations = tester_t.declarations + + #~ def test( self ): + #~ x = declarations.find_declaration( self.declarations + #~ , type=declarations.typedef_t + #~ , name="s2s_multimap_type" ) + #~ print declarations.is_noncopyable( x) + #~ declarations.print_declarations( [declarations.class_traits.get_declaration( x )] ) + + def create_suite(): suite = unittest.TestSuite() + #~ suite.addTest( unittest.makeSuite(tester_diff_t)) suite.addTest( unittest.makeSuite(tester_t)) suite.addTest( unittest.makeSuite(missing_decls_tester_t)) return suite This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-15 21:27:35
|
Revision: 1581 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1581&view=rev Author: roman_yakovenko Date: 2009-01-15 21:27:30 +0000 (Thu, 15 Jan 2009) Log Message: ----------- implmenting better algorithm for ctypes builder Modified Paths: -------------- pygccxml_dev/pygccxml/parser/config.py pyplusplus_dev/examples/gmplib_dev/dev/generate_code.py pyplusplus_dev/examples/gmplib_dev/pygmplib/__init__.py pyplusplus_dev/pyplusplus/code_creators/library_reference.py pyplusplus_dev/pyplusplus/module_builder/ctypes_builder.py ui/web/config.py Added Paths: ----------- pyplusplus_dev/pyplusplus/module_builder/ctypes_decls_dependencies.py Modified: pygccxml_dev/pygccxml/parser/config.py =================================================================== --- pygccxml_dev/pygccxml/parser/config.py 2009-01-15 13:37:55 UTC (rev 1580) +++ pygccxml_dev/pygccxml/parser/config.py 2009-01-15 21:27:30 UTC (rev 1581) @@ -226,21 +226,21 @@ if isinstance( configuration, types.StringTypes ): from ConfigParser import SafeConfigParser parser = SafeConfigParser() - parser.readfp( file( configuration, 'r' ) ) + parser.read( configuration ) gccxml_cfg = gccxml_configuration_t() - if not parser.has_section( 'gccxml' ): - return gccxml_cfg values = defaults if not values: values = {} + + if parser.has_section( 'gccxml' ): + for name, value in parser.items( 'gccxml' ): + if value.strip(): + values[ name ] = value - for name, value in parser.items( 'gccxml' ): - if value.strip(): - values[ name ] = value - for name, value in values.iteritems(): - value = value.strip() + if isinstance( value, types.StringTypes ): + value = value.strip() if name == 'gccxml_path': gccxml_cfg.gccxml_path = value elif name == 'working_directory': Modified: pyplusplus_dev/examples/gmplib_dev/dev/generate_code.py =================================================================== --- pyplusplus_dev/examples/gmplib_dev/dev/generate_code.py 2009-01-15 13:37:55 UTC (rev 1580) +++ pyplusplus_dev/examples/gmplib_dev/dev/generate_code.py 2009-01-15 21:27:30 UTC (rev 1581) @@ -18,17 +18,15 @@ and isinstance( f.arguments[-1].type, declarations.ellipsis_t ) mb.calldefs( has_varargs ).exclude() -mb.classes( '' ).exclude() #gmp uses strange convention: every function name starts with __gmp and than, it #introduces define, which aliass __gmpy to gmpy for f in mb.calldefs( lambda x: x.name.startswith('__gmp') ): f.alias = f.name[2:] -#there is a bug in "include" algorithm - I need to wrote BFS +#those structs are private implementation of FILE mb.class_( '_IO_FILE' ).opaque = True -#another dependency bug - internal union is not included -mb.class_( '__gmp_randstate_struct' ).include() +mb.class_( '_IO_marker' ).opaque = True mb.build_code_creator( project_env.gmp.shared_library_file ) Modified: pyplusplus_dev/examples/gmplib_dev/pygmplib/__init__.py =================================================================== --- pyplusplus_dev/examples/gmplib_dev/pygmplib/__init__.py 2009-01-15 13:37:55 UTC (rev 1580) +++ pyplusplus_dev/examples/gmplib_dev/pygmplib/__init__.py 2009-01-15 21:27:30 UTC (rev 1581) @@ -4,9 +4,9 @@ import ctypes_utils -libgmp_dot_so_dot_3_dot_4lib = ctypes.CDLL( r"/usr/lib/libgmp.so.3.4.2" ) +libgmp_lib = ctypes.CDLL( r"/usr/lib/libgmp.so.3.4.2" ) -libgmp_dot_so_dot_3_dot_4lib.undecorated_names = {#mapping between decorated and undecorated names +libgmp_lib.undecorated_names = {#mapping between decorated and undecorated names "extern double __gmpf_get_d(mpf_srcptr arg0) [free function]" : "__gmpf_get_d", "extern int __gmpf_cmp_ui(mpf_srcptr arg0, long unsigned int arg1) [free function]" : "__gmpf_cmp_ui", "extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]" : "__gmpz_mul_ui", @@ -627,6 +627,12 @@ def __init__( self, *args, **keywd ): raise RuntimeError( "Unable to create instance of opaque type." ) +class _IO_marker(ctypes.Structure): + """class _IO_marker""" + + def __init__( self, *args, **keywd ): + raise RuntimeError( "Unable to create instance of opaque type." ) + class __gmp_randstate_struct(ctypes.Structure): """class __gmp_randstate_struct""" @@ -672,877 +678,877 @@ ] gmpq_add_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpq_add = gmpq_add_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_add(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_add = gmpq_add_type( ( libgmp_lib.undecorated_names["extern void __gmpq_add(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) ) gmpq_canonicalize_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ) ) -gmpq_canonicalize = gmpq_canonicalize_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_canonicalize(mpq_ptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_canonicalize = gmpq_canonicalize_type( ( libgmp_lib.undecorated_names["extern void __gmpq_canonicalize(mpq_ptr arg0) [free function]"], libgmp_lib ) ) gmpq_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpq_sub = gmpq_sub_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_sub(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_sub = gmpq_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpq_sub(mpq_ptr arg0, mpq_srcptr arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_tdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tdiv_q_ui = gmpz_tdiv_q_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_tdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_q_ui = gmpz_tdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpn_scan0_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_ulong ) -gmpn_scan0 = gmpn_scan0_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpn_scan0(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_scan0 = gmpn_scan0_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_scan0(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpf_fits_sshort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ) ) -gmpf_fits_sshort_p = gmpf_fits_sshort_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpf_fits_sshort_p(mpf_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_fits_sshort_p = gmpf_fits_sshort_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_fits_sshort_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) ) gmpz_init_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_double ) -gmpz_init_set_d = gmpz_init_set_d_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_init_set_d(mpz_ptr arg0, double arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_init_set_d = gmpz_init_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set_d(mpz_ptr arg0, double arg1) [free function]"], libgmp_lib ) ) gmpz_get_d_2exp_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( ctypes.c_long ), ctypes.POINTER( __mpz_struct ) ) -gmpz_get_d_2exp = gmpz_get_d_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern double __gmpz_get_d_2exp(long int * arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_get_d_2exp = gmpz_get_d_2exp_type( ( libgmp_lib.undecorated_names["extern double __gmpz_get_d_2exp(long int * arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_powm_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.POINTER( __mpz_struct ) ) -gmpz_powm_ui = gmpz_powm_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_powm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2, mpz_srcptr arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_powm_ui = gmpz_powm_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_powm_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) ) gmpn_add_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long ) -gmpn_add = gmpn_add_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_add = gmpn_add_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_add(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_lib ) ) gmpn_scan1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_ulong ) -gmpn_scan1 = gmpn_scan1_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpn_scan1(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_scan1 = gmpn_scan1_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_scan1(mp_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpn_divexact_by3c_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong ) -gmpn_divexact_by3c = gmpn_divexact_by3c_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern mp_limb_t __gmpn_divexact_by3c(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_divexact_by3c = gmpn_divexact_by3c_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divexact_by3c(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3) [free function]"], libgmp_lib ) ) gmpz_ui_pow_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong ) -gmpz_ui_pow_ui = gmpz_ui_pow_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_ui_pow_ui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_ui_pow_ui = gmpz_ui_pow_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_ui_pow_ui(mpz_ptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_nextprime_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_nextprime = gmpz_nextprime_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_nextprime(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_nextprime = gmpz_nextprime_type( ( libgmp_lib.undecorated_names["extern void __gmpz_nextprime(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_size_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct ) ) -gmpz_size = gmpz_size_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["size_t __gmpz_size(mpz_srcptr __gmp_z) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_size = gmpz_size_type( ( libgmp_lib.undecorated_names["size_t __gmpz_size(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) ) gmpf_sqrt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_sqrt = gmpf_sqrt_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_sqrt(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_sqrt = gmpf_sqrt_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sqrt(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_cdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_cdiv_q_ui = gmpz_cdiv_q_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_cdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cdiv_q_ui = gmpz_cdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_tdiv_r_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tdiv_r_ui = gmpz_tdiv_r_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_tdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_r_ui = gmpz_tdiv_r_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_r_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_init_set_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_init_set_ui = gmpz_init_set_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_init_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_init_set_ui = gmpz_init_set_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_init_set_ui(mpz_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_export_type = ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER( ctypes.c_uint ), ctypes.c_int, ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.POINTER( __mpz_struct ) ) -gmpz_export = gmpz_export_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void * __gmpz_export(void * arg0, size_t * arg1, int arg2, size_t arg3, int arg4, size_t arg5, mpz_srcptr arg6) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_export = gmpz_export_type( ( libgmp_lib.undecorated_names["extern void * __gmpz_export(void * arg0, size_t * arg1, int arg2, size_t arg3, int arg4, size_t arg5, mpz_srcptr arg6) [free function]"], libgmp_lib ) ) gmpz_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_char_p, ctypes.c_int ) -gmpz_set_str = gmpz_set_str_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_set_str = gmpz_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpz_set_str(mpz_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) ) gmpz_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_set = gmpz_set_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_set = gmpz_set_type( ( libgmp_lib.undecorated_names["extern void __gmpz_set(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmp_randseed_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong ) -gmp_randseed_ui = gmp_randseed_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmp_randseed_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_randseed_ui = gmp_randseed_ui_type( ( libgmp_lib.undecorated_names["extern void __gmp_randseed_ui(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_random2_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long ) -gmpz_random2 = gmpz_random2_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_random2(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_random2 = gmpz_random2_type( ( libgmp_lib.undecorated_names["extern void __gmpz_random2(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) ) gmpf_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong ) -gmpf_mul_2exp = gmpf_mul_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_mul_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_mul_2exp = gmpf_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpf_mul_2exp(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpf_cmp_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_cmp = gmpf_cmp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpf_cmp(mpf_srcptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_cmp = gmpf_cmp_type( ( libgmp_lib.undecorated_names["extern int __gmpf_cmp(mpf_srcptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpn_sub_1_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong ) -gmpn_sub_1 = gmpn_sub_1_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_sub_1 = gmpn_sub_1_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_sub_1(mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) [free function]"], libgmp_lib ) ) gmpq_cmp_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpq_struct ), ctypes.c_ulong, ctypes.c_ulong ) -gmpq_cmp_ui = gmpq_cmp_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpq_cmp_ui(mpq_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_cmp_ui = gmpq_cmp_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpq_cmp_ui(mpq_srcptr arg0, long unsigned int arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpq_out_str_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( _IO_FILE ), ctypes.c_int, ctypes.POINTER( __mpq_struct ) ) -gmpq_out_str = gmpq_out_str_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern size_t __gmpq_out_str(FILE * arg0, int arg1, mpq_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_out_str = gmpq_out_str_type( ( libgmp_lib.undecorated_names["extern size_t __gmpq_out_str(FILE * arg0, int arg1, mpq_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_mul_2exp = gmpz_mul_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_mul_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_mul_2exp = gmpz_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpn_hamdist_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long ) -gmpn_hamdist = gmpn_hamdist_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpn_hamdist(mp_srcptr arg0, mp_srcptr arg1, mp_size_t arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_hamdist = gmpn_hamdist_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpn_hamdist(mp_srcptr arg0, mp_srcptr arg1, mp_size_t arg2) [free function]"], libgmp_lib ) ) gmpz_submul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_submul = gmpz_submul_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_submul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_submul = gmpz_submul_type( ( libgmp_lib.undecorated_names["extern void __gmpz_submul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmp_randseed_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __mpz_struct ) ) -gmp_randseed = gmp_randseed_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmp_randseed(__gmp_randstate_struct * arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_randseed = gmp_randseed_type( ( libgmp_lib.undecorated_names["extern void __gmp_randseed(__gmp_randstate_struct * arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_divisible_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_divisible_p = gmpz_divisible_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_divisible_p(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_divisible_p = gmpz_divisible_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_divisible_p(mpz_srcptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_getlimbn_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_long ) -gmpz_getlimbn = gmpz_getlimbn_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["mp_limb_t __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_getlimbn = gmpz_getlimbn_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpz_getlimbn(mpz_srcptr __gmp_z, mp_size_t __gmp_n) [free function]"], libgmp_lib ) ) gmp_randinit_lc_2exp_size_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong ) -gmp_randinit_lc_2exp_size = gmp_randinit_lc_2exp_size_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmp_randinit_lc_2exp_size(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_randinit_lc_2exp_size = gmp_randinit_lc_2exp_size_type( ( libgmp_lib.undecorated_names["extern int __gmp_randinit_lc_2exp_size(__gmp_randstate_struct * arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_add_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_add_ui = gmpz_add_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_add_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_add_ui = gmpz_add_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_add_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_inp_raw_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( _IO_FILE ) ) -gmpz_inp_raw = gmpz_inp_raw_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern size_t __gmpz_inp_raw(mpz_ptr arg0, FILE * arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_inp_raw = gmpz_inp_raw_type( ( libgmp_lib.undecorated_names["extern size_t __gmpz_inp_raw(mpz_ptr arg0, FILE * arg1) [free function]"], libgmp_lib ) ) gmpz_tdiv_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tdiv_ui = gmpz_tdiv_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_tdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_ui = gmpz_tdiv_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_tdiv_qr_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tdiv_qr_ui = gmpz_tdiv_qr_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_tdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_qr_ui = gmpz_tdiv_qr_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_tdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) ) gmpf_neg_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_neg = gmpf_neg_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_neg(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_neg = gmpf_neg_type( ( libgmp_lib.undecorated_names["extern void __gmpf_neg(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpq_set_num_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpq_set_num = gmpq_set_num_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_set_num(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_set_num = gmpq_set_num_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_num(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpf_mul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_mul = gmpf_mul_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_mul(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_mul = gmpf_mul_type( ( libgmp_lib.undecorated_names["extern void __gmpf_mul(mpf_ptr arg0, mpf_srcptr arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_submul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_submul_ui = gmpz_submul_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_submul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_submul_ui = gmpz_submul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_submul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpf_div_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ), ctypes.c_ulong ) -gmpf_div_ui = gmpf_div_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_div_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_div_ui = gmpf_div_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_div_ui(mpf_ptr arg0, mpf_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_random_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_long ) -gmpz_random = gmpz_random_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_random(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_random = gmpz_random_type( ( libgmp_lib.undecorated_names["extern void __gmpz_random(mpz_ptr arg0, mp_size_t arg1) [free function]"], libgmp_lib ) ) gmpn_pow_1_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ) ) -gmpn_pow_1 = gmpn_pow_1_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern mp_size_t __gmpn_pow_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3, mp_ptr arg4) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_pow_1 = gmpn_pow_1_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_pow_1(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, mp_limb_t arg3, mp_ptr arg4) [free function]"], libgmp_lib ) ) gmpz_addmul_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_addmul = gmpz_addmul_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_addmul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_addmul = gmpz_addmul_type( ( libgmp_lib.undecorated_names["extern void __gmpz_addmul(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_ui_sub_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.POINTER( __mpz_struct ) ) -gmpz_ui_sub = gmpz_ui_sub_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_ui_sub(mpz_ptr arg0, long unsigned int arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_ui_sub = gmpz_ui_sub_type( ( libgmp_lib.undecorated_names["extern void __gmpz_ui_sub(mpz_ptr arg0, long unsigned int arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmp_set_memory_functions_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.c_uint ) ), ctypes.POINTER( ctypes.CFUNCTYPE( None, ctypes.c_void_p, ctypes.c_uint ) ) ) -gmp_set_memory_functions = gmp_set_memory_functions_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmp_set_memory_functions(void * (*)( ::size_t ) * arg0, void * (*)( void *,::size_t,::size_t ) * arg1, void (*)( void *,::size_t ) * arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_set_memory_functions = gmp_set_memory_functions_type( ( libgmp_lib.undecorated_names["extern void __gmp_set_memory_functions(void * (*)( ::size_t ) * arg0, void * (*)( void *,::size_t,::size_t ) * arg1, void (*)( void *,::size_t ) * arg2) [free function]"], libgmp_lib ) ) gmpz_tdiv_q_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tdiv_q_2exp = gmpz_tdiv_q_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_tdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_q_2exp = gmpz_tdiv_q_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_q_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_sqrt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_sqrt = gmpz_sqrt_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_sqrt(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_sqrt = gmpz_sqrt_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sqrt(mpz_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpn_divrem_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long ) -gmpn_divrem = gmpn_divrem_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern mp_limb_t __gmpn_divrem(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4, mp_size_t arg5) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_divrem = gmpn_divrem_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_divrem(mp_ptr arg0, mp_size_t arg1, mp_ptr arg2, mp_size_t arg3, mp_srcptr arg4, mp_size_t arg5) [free function]"], libgmp_lib ) ) gmpf_sqrt_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong ) -gmpf_sqrt_ui = gmpf_sqrt_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_sqrt_ui(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_sqrt_ui = gmpf_sqrt_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpf_sqrt_ui(mpf_ptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpn_sub_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long ) -gmpn_sub = gmpn_sub_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_sub = gmpn_sub_type( ( libgmp_lib.undecorated_names["mp_limb_t __gmpn_sub(mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize) [free function]"], libgmp_lib ) ) gmpq_set_f_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpq_set_f = gmpq_set_f_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_set_f(mpq_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_set_f = gmpq_set_f_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_f(mpq_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpq_get_d_type = ctypes.CFUNCTYPE( ctypes.c_double, ctypes.POINTER( __mpq_struct ) ) -gmpq_get_d = gmpq_get_d_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern double __gmpq_get_d(mpq_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_get_d = gmpq_get_d_type( ( libgmp_lib.undecorated_names["extern double __gmpq_get_d(mpq_srcptr arg0) [free function]"], libgmp_lib ) ) gmpf_size_type = ctypes.CFUNCTYPE( ctypes.c_uint, ctypes.POINTER( __mpf_struct ) ) -gmpf_size = gmpf_size_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern size_t __gmpf_size(mpf_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_size = gmpf_size_type( ( libgmp_lib.undecorated_names["extern size_t __gmpf_size(mpf_srcptr arg0) [free function]"], libgmp_lib ) ) gmpz_add_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_add = gmpz_add_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_add(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_add = gmpz_add_type( ( libgmp_lib.undecorated_names["extern void __gmpz_add(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpq_inv_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpq_inv = gmpq_inv_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_inv(mpq_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_inv = gmpq_inv_type( ( libgmp_lib.undecorated_names["extern void __gmpq_inv(mpq_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_rootrem_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_rootrem = gmpz_rootrem_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_rootrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_rootrem = gmpz_rootrem_type( ( libgmp_lib.undecorated_names["extern void __gmpz_rootrem(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) ) gmpf_ceil_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_ceil = gmpf_ceil_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_ceil(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_ceil = gmpf_ceil_type( ( libgmp_lib.undecorated_names["extern void __gmpf_ceil(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_fits_ushort_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ) ) -gmpz_fits_ushort_p = gmpz_fits_ushort_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["int __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_fits_ushort_p = gmpz_fits_ushort_p_type( ( libgmp_lib.undecorated_names["int __gmpz_fits_ushort_p(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) ) gmpz_cdiv_r_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_cdiv_r_2exp = gmpz_cdiv_r_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_cdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cdiv_r_2exp = gmpz_cdiv_r_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpz_cdiv_r_2exp(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_fdiv_qr_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_fdiv_qr = gmpz_fdiv_qr_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_fdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_fdiv_qr = gmpz_fdiv_qr_type( ( libgmp_lib.undecorated_names["extern void __gmpz_fdiv_qr(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, mpz_srcptr arg3) [free function]"], libgmp_lib ) ) gmpz_get_si_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( __mpz_struct ) ) -gmpz_get_si = gmpz_get_si_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long int __gmpz_get_si(mpz_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_get_si = gmpz_get_si_type( ( libgmp_lib.undecorated_names["extern long int __gmpz_get_si(mpz_srcptr arg0) [free function]"], libgmp_lib ) ) gmpf_integer_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ) ) -gmpf_integer_p = gmpf_integer_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpf_integer_p(mpf_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_integer_p = gmpf_integer_p_type( ( libgmp_lib.undecorated_names["extern int __gmpf_integer_p(mpf_srcptr arg0) [free function]"], libgmp_lib ) ) gmpz_congruent_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_congruent_p = gmpz_congruent_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_congruent_p(mpz_srcptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_congruent_p = gmpz_congruent_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_congruent_p(mpz_srcptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpf_ui_div_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.c_ulong, ctypes.POINTER( __mpf_struct ) ) -gmpf_ui_div = gmpf_ui_div_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_ui_div(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_ui_div = gmpf_ui_div_type( ( libgmp_lib.undecorated_names["extern void __gmpf_ui_div(mpf_ptr arg0, long unsigned int arg1, mpf_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_mul_si_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_long ) -gmpz_mul_si = gmpz_mul_si_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_mul_si(mpz_ptr arg0, mpz_srcptr arg1, long int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_mul_si = gmpz_mul_si_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_si(mpz_ptr arg0, mpz_srcptr arg1, long int arg2) [free function]"], libgmp_lib ) ) gmpq_div_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.c_ulong ) -gmpq_div_2exp = gmpq_div_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_div_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_div_2exp = gmpq_div_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpq_div_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpq_mul_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ), ctypes.c_ulong ) -gmpq_mul_2exp = gmpq_mul_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_mul_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_mul_2exp = gmpq_mul_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmpq_mul_2exp(mpq_ptr arg0, mpq_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpf_urandomb_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong ) -gmpf_urandomb = gmpf_urandomb_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_urandomb(__mpf_struct * arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_urandomb = gmpf_urandomb_type( ( libgmp_lib.undecorated_names["extern void __gmpf_urandomb(__mpf_struct * arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpq_neg_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpq_neg = gmpq_neg_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_neg = gmpq_neg_type( ( libgmp_lib.undecorated_names["void __gmpq_neg(mpq_ptr __gmp_w, mpq_srcptr __gmp_u) [free function]"], libgmp_lib ) ) gmpz_import_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.c_int, ctypes.c_uint, ctypes.c_void_p ) -gmpz_import = gmpz_import_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_import(mpz_ptr arg0, size_t arg1, int arg2, size_t arg3, int arg4, size_t arg5, void const * arg6) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_import = gmpz_import_type( ( libgmp_lib.undecorated_names["extern void __gmpz_import(mpz_ptr arg0, size_t arg1, int arg2, size_t arg3, int arg4, size_t arg5, void const * arg6) [free function]"], libgmp_lib ) ) gmpz_mul_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_mul_ui = gmpz_mul_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_mul_ui = gmpz_mul_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mul_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_tstbit_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_tstbit = gmpz_tstbit_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_tstbit(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tstbit = gmpz_tstbit_type( ( libgmp_lib.undecorated_names["extern int __gmpz_tstbit(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpq_get_num_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpq_get_num = gmpq_get_num_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_get_num(mpz_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_get_num = gmpq_get_num_type( ( libgmp_lib.undecorated_names["extern void __gmpq_get_num(mpz_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_sub_ui_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_sub_ui = gmpz_sub_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_sub_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_sub_ui = gmpz_sub_ui_type( ( libgmp_lib.undecorated_names["extern void __gmpz_sub_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_rrandomb_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __gmp_randstate_struct ), ctypes.c_ulong ) -gmpz_rrandomb = gmpz_rrandomb_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_rrandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_rrandomb = gmpz_rrandomb_type( ( libgmp_lib.undecorated_names["extern void __gmpz_rrandomb(mpz_ptr arg0, __gmp_randstate_struct * arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpn_set_str_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ubyte ), ctypes.c_uint, ctypes.c_int ) -gmpn_set_str = gmpn_set_str_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern mp_size_t __gmpn_set_str(mp_ptr arg0, unsigned char const * arg1, size_t arg2, int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_set_str = gmpn_set_str_type( ( libgmp_lib.undecorated_names["extern mp_size_t __gmpn_set_str(mp_ptr arg0, unsigned char const * arg1, size_t arg2, int arg3) [free function]"], libgmp_lib ) ) gmpz_root_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_root = gmpz_root_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_root(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_root = gmpz_root_type( ( libgmp_lib.undecorated_names["extern int __gmpz_root(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_fdiv_q_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_fdiv_q_ui = gmpz_fdiv_q_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_fdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_fdiv_q_ui = gmpz_fdiv_q_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_fdiv_q_ui(mpz_ptr arg0, mpz_srcptr arg1, long unsigned int arg2) [free function]"], libgmp_lib ) ) gmpz_cmpabs_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_cmpabs_ui = gmpz_cmpabs_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_cmpabs_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cmpabs_ui = gmpz_cmpabs_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmpabs_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_divexact_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_divexact = gmpz_divexact_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_divexact(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_divexact = gmpz_divexact_type( ( libgmp_lib.undecorated_names["extern void __gmpz_divexact(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_cmpabs_d_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_double ) -gmpz_cmpabs_d = gmpz_cmpabs_d_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_cmpabs_d(mpz_srcptr arg0, double arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cmpabs_d = gmpz_cmpabs_d_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmpabs_d(mpz_srcptr arg0, double arg1) [free function]"], libgmp_lib ) ) gmpz_mod_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_mod = gmpz_mod_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_mod(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_mod = gmpz_mod_type( ( libgmp_lib.undecorated_names["extern void __gmpz_mod(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_fits_ulong_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ) ) -gmpz_fits_ulong_p = gmpz_fits_ulong_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_fits_ulong_p = gmpz_fits_ulong_p_type( ( libgmp_lib.undecorated_names["int __gmpz_fits_ulong_p(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) ) gmpz_cdiv_qr_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_cdiv_qr_ui = gmpz_cdiv_qr_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long unsigned int __gmpz_cdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cdiv_qr_ui = gmpz_cdiv_qr_ui_type( ( libgmp_lib.undecorated_names["extern long unsigned int __gmpz_cdiv_qr_ui(mpz_ptr arg0, mpz_ptr arg1, mpz_srcptr arg2, long unsigned int arg3) [free function]"], libgmp_lib ) ) gmpz_cmp_ui_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_ulong ) -gmpz_cmp_ui = gmpz_cmp_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_cmp_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_cmp_ui = gmpz_cmp_ui_type( ( libgmp_lib.undecorated_names["extern int __gmpz_cmp_ui(mpz_srcptr arg0, long unsigned int arg1) [free function]"], libgmp_lib ) ) gmpz_clear_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ) ) -gmpz_clear = gmpz_clear_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_clear(mpz_ptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_clear = gmpz_clear_type( ( libgmp_lib.undecorated_names["extern void __gmpz_clear(mpz_ptr arg0) [free function]"], libgmp_lib ) ) gmp_randinit_mt_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ) ) -gmp_randinit_mt = gmp_randinit_mt_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmp_randinit_mt(__gmp_randstate_struct * arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_randinit_mt = gmp_randinit_mt_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_mt(__gmp_randstate_struct * arg0) [free function]"], libgmp_lib ) ) gmpq_set_z_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpq_set_z = gmpq_set_z_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_set_z(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_set_z = gmpq_set_z_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_z(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_abs_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_abs = gmpz_abs_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_abs = gmpz_abs_type( ( libgmp_lib.undecorated_names["void __gmpz_abs(mpz_ptr __gmp_w, mpz_srcptr __gmp_u) [free function]"], libgmp_lib ) ) gmpz_probab_prime_p_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpz_struct ), ctypes.c_int ) -gmpz_probab_prime_p = gmpz_probab_prime_p_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpz_probab_prime_p(mpz_srcptr arg0, int arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_probab_prime_p = gmpz_probab_prime_p_type( ( libgmp_lib.undecorated_names["extern int __gmpz_probab_prime_p(mpz_srcptr arg0, int arg1) [free function]"], libgmp_lib ) ) gmpz_tdiv_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_tdiv_q = gmpz_tdiv_q_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_tdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_q = gmpz_tdiv_q_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_q(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpz_tdiv_r_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_tdiv_r = gmpz_tdiv_r_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_tdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_tdiv_r = gmpz_tdiv_r_type( ( libgmp_lib.undecorated_names["extern void __gmpz_tdiv_r(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpf_set_str_type = ctypes.CFUNCTYPE( ctypes.c_int, ctypes.POINTER( __mpf_struct ), ctypes.c_char_p, ctypes.c_int ) -gmpf_set_str = gmpf_set_str_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern int __gmpf_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_set_str = gmpf_set_str_type( ( libgmp_lib.undecorated_names["extern int __gmpf_set_str(mpf_ptr arg0, char const * arg1, int arg2) [free function]"], libgmp_lib ) ) gmpf_set_q_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpq_struct ) ) -gmpf_set_q = gmpf_set_q_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_set_q(mpf_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_set_q = gmpf_set_q_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_q(mpf_ptr arg0, mpq_srcptr arg1) [free function]"], libgmp_lib ) ) gmpq_set_d_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.c_double ) -gmpq_set_d = gmpq_set_d_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_set_d(mpq_ptr arg0, double arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_set_d = gmpq_set_d_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_d(mpq_ptr arg0, double arg1) [free function]"], libgmp_lib ) ) gmpz_lcm_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpz_lcm = gmpz_lcm_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpz_lcm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_lcm = gmpz_lcm_type( ( libgmp_lib.undecorated_names["extern void __gmpz_lcm(mpz_ptr arg0, mpz_srcptr arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpn_rshift_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( ctypes.c_ulong ), ctypes.POINTER( ctypes.c_ulong ), ctypes.c_long, ctypes.c_uint ) -gmpn_rshift = gmpn_rshift_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern mp_limb_t __gmpn_rshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpn_rshift = gmpn_rshift_type( ( libgmp_lib.undecorated_names["extern mp_limb_t __gmpn_rshift(mp_ptr arg0, mp_srcptr arg1, mp_size_t arg2, unsigned int arg3) [free function]"], libgmp_lib ) ) gmpf_set_z_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpf_set_z = gmpf_set_z_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_set_z(mpf_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_set_z = gmpf_set_z_type( ( libgmp_lib.undecorated_names["extern void __gmpf_set_z(mpf_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpq_set_den_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpq_struct ), ctypes.POINTER( __mpz_struct ) ) -gmpq_set_den = gmpq_set_den_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpq_set_den(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpq_set_den = gmpq_set_den_type( ( libgmp_lib.undecorated_names["extern void __gmpq_set_den(mpq_ptr arg0, mpz_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_get_str_type = ctypes.CFUNCTYPE( ctypes.c_char_p, ctypes.c_char_p, ctypes.c_int, ctypes.POINTER( __mpz_struct ) ) -gmpz_get_str = gmpz_get_str_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern char * __gmpz_get_str(char * arg0, int arg1, mpz_srcptr arg2) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_get_str = gmpz_get_str_type( ( libgmp_lib.undecorated_names["extern char * __gmpz_get_str(char * arg0, int arg1, mpz_srcptr arg2) [free function]"], libgmp_lib ) ) gmpf_init_set_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __mpf_struct ), ctypes.POINTER( __mpf_struct ) ) -gmpf_init_set = gmpf_init_set_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmpf_init_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_init_set = gmpf_init_set_type( ( libgmp_lib.undecorated_names["extern void __gmpf_init_set(mpf_ptr arg0, mpf_srcptr arg1) [free function]"], libgmp_lib ) ) gmpz_get_ui_type = ctypes.CFUNCTYPE( ctypes.c_ulong, ctypes.POINTER( __mpz_struct ) ) -gmpz_get_ui = gmpz_get_ui_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["long unsigned int __gmpz_get_ui(mpz_srcptr __gmp_z) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpz_get_ui = gmpz_get_ui_type( ( libgmp_lib.undecorated_names["long unsigned int __gmpz_get_ui(mpz_srcptr __gmp_z) [free function]"], libgmp_lib ) ) gmpf_get_si_type = ctypes.CFUNCTYPE( ctypes.c_long, ctypes.POINTER( __mpf_struct ) ) -gmpf_get_si = gmpf_get_si_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern long int __gmpf_get_si(mpf_srcptr arg0) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmpf_get_si = gmpf_get_si_type( ( libgmp_lib.undecorated_names["extern long int __gmpf_get_si(mpf_srcptr arg0) [free function]"], libgmp_lib ) ) gmp_randinit_lc_2exp_type = ctypes.CFUNCTYPE( None, ctypes.POINTER( __gmp_randstate_struct ), ctypes.POINTER( __mpz_struct ), ctypes.c_ulong, ctypes.c_ulong ) -gmp_randinit_lc_2exp = gmp_randinit_lc_2exp_type( ( libgmp_dot_so_dot_3_dot_4lib.undecorated_names["extern void __gmp_randinit_lc_2exp(__gmp_randstate_struct * arg0, mpz_srcptr arg1, long unsigned int arg2, long unsigned int arg3) [free function]"], libgmp_dot_so_dot_3_dot_4lib ) ) +gmp_randinit_lc_2exp = gmp_randinit_lc_2exp_type( ( libgmp_lib.undecorated_names["extern void __gmp_randinit_lc_2exp(__gmp_randstate_struct * arg0, mpz_srcptr arg1, long unsigned int arg2, long unsigned int ... [truncated message content] |
From: <rom...@us...> - 2009-01-18 06:14:06
|
Revision: 1585 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1585&view=rev Author: roman_yakovenko Date: 2009-01-18 06:14:01 +0000 (Sun, 18 Jan 2009) Log Message: ----------- adding ability to configure compiler settings from the web UI Modified Paths: -------------- pygccxml_dev/pygccxml/parser/config.py ui/web/code_generator.py ui/web/config.py ui/web/form_processor.py Modified: pygccxml_dev/pygccxml/parser/config.py =================================================================== --- pygccxml_dev/pygccxml/parser/config.py 2009-01-17 20:37:23 UTC (rev 1584) +++ pygccxml_dev/pygccxml/parser/config.py 2009-01-18 06:14:01 UTC (rev 1585) @@ -92,6 +92,9 @@ cflags = property( __get_cflags, __set_cflags , doc="additional flags to pass to compiler" ) + def append_cflags( self, val ): + self.__cflags = self.__cflags + ' ' + val + def __ensure_dir_exists( self, dir_path, meaning ): if os.path.isdir( dir_path ): return @@ -232,7 +235,7 @@ values = defaults if not values: values = {} - + if parser.has_section( 'gccxml' ): for name, value in parser.items( 'gccxml' ): if value.strip(): Modified: ui/web/code_generator.py =================================================================== --- ui/web/code_generator.py 2009-01-17 20:37:23 UTC (rev 1584) +++ ui/web/code_generator.py 2009-01-18 06:14:01 UTC (rev 1585) @@ -11,9 +11,9 @@ def __init__( self ): pass - def show_xml( self, file_configuration ): + def show_xml( self, file_configuration, compiler_config ): try: - reader = parser.project_reader_t( config=config.gccxml ) + reader = parser.project_reader_t( config=compiler_config ) content = reader.read_xml( file_configuration ) return content, '' #return xml.sax.saxutils.escape( content ), '' @@ -23,9 +23,9 @@ user_msg.append( str( error ) ) return '', '\n'.join( user_msg ) - def show_declarations( self, file_configuration ): + def show_declarations( self, file_configuration, compiler_config ): try: - reader = parser.project_reader_t( config=config.gccxml ) + reader = parser.project_reader_t( config=compiler_config ) decls = reader.read_files( [file_configuration] ) global_ns = declarations.get_global_namespace( decls ) tmp = [] @@ -37,13 +37,13 @@ user_msg.append( str( error ) ) return '', '\n'.join( user_msg ) - def generate_bpl_code( self, file_configuration ): + def generate_bpl_code( self, file_configuration, compiler_config ): try: _logging_.loggers.make_inmemory() mb = module_builder.module_builder_t( [ file_configuration ] - , gccxml_path=config.gccxml.gccxml_path - , compiler=config.gccxml.compiler) + , gccxml_path=compiler_config.gccxml_path + , compiler=compiler_config.compiler) mb.decls( header_dir=config.temp_dir ).include() mb.build_code_creator( "pyplusplus" ) code = mb.code_creator.create() @@ -58,10 +58,10 @@ user_msg.append( str( error ) ) return '', '\n'.join( user_msg ) - def generate_ctypes_code( self, file_configuration, symbols_file ): + def generate_ctypes_code( self, file_configuration, symbols_file, compiler_config ): try: _logging_.loggers.make_inmemory() - mb = ctypes_module_builder_t( [ file_configuration ], symbols_file, config.gccxml ) + mb = ctypes_module_builder_t( [ file_configuration ], symbols_file, compiler_config ) mb.build_code_creator( symbols_file ) code = mb.code_creator.create() code = code.replace( '\n\r', '\n' ) @@ -74,11 +74,3 @@ user_msg.append( 'Error:' ) user_msg.append( str( error ) ) return '', '\n'.join( user_msg ) - - - - -if __name__ == '__main__': - m = manager_t() - m.generate_bpl_code( 'int do_smth( int &);int do_smth( int, int);' ) - Modified: ui/web/config.py =================================================================== --- ui/web/config.py 2009-01-17 20:37:23 UTC (rev 1584) +++ ui/web/config.py 2009-01-18 06:14:01 UTC (rev 1585) @@ -6,7 +6,7 @@ this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) ) projects_root_dir = os.path.dirname( os.path.dirname( this_module_dir_path ) ) -sys.path.insert( 0, os.path.join( this_module_dir_path, 'web.zip' ) ) +#~ sys.path.insert( 0, os.path.join( this_module_dir_path, 'web.zip' ) ) if os.path.exists( os.path.join( projects_root_dir, 'pygccxml_dev' ) ): sys.path.append( os.path.join( projects_root_dir, 'pygccxml_dev' ) ) @@ -14,13 +14,10 @@ sys.path.append( os.path.join( projects_root_dir, 'pyplusplus_dev' ) ) #else use installed modules -from pygccxml import parser -from pyplusplus import module_builder +import pygccxml -gccxml_path = os.path.join( projects_root_dir, 'gccxml_bin', 'v09', sys.platform, 'bin' ) -if os.path.exists( gccxml_path ): - gccxml = parser.config_t( gccxml_path=gccxml_path ) -else: #use gccxml from PATH - gccxml = parser.config_t() +gccxml = pygccxml.parser.load_gccxml_configuration( os.path.join( this_module_dir_path, 'gccxml.cfg' ) + , gccxml_path=os.path.join( projects_root_dir, 'gccxml_bin', 'v09', sys.platform, 'bin' ) + , compiler=pygccxml.utils.native_compiler.get_gccxml_compiler() ) temp_dir = tempfile.gettempdir() Modified: ui/web/form_processor.py =================================================================== --- ui/web/form_processor.py 2009-01-17 20:37:23 UTC (rev 1584) +++ ui/web/form_processor.py 2009-01-18 06:14:01 UTC (rev 1585) @@ -25,30 +25,45 @@ else: return parser.create_source_fc( self.__input[ file_key ] ) + def __create_gccxml_cfg( self ): + #in real web mode this functionality should be disabled + cfg = config.gccxml.clone() + + include_dirs = self.__input['COMPILER_INCLUDE_DIRECTORIES'] + include_dirs = include_dirs.split('\n') + cfg.include_paths.extend([ idir.strip() for idir in include_dirs ]) + + preprocessor_defs = self.__input['COMPILER_PREPROCESSOR_DEFINITIONS'] + cfg.append_cflags( preprocessor_defs.replace( '\n', ' ' ) ) + + additional_args = self.__input['COMPILER_CMD_ARGS'] + cfg.append_cflags( additional_args.replace( '\n', ' ' ) ) + return cfg + def on_view_xml( self ): fc = self.__create_fc( 'GCCXML' ) - decls_tree, warnings = self.__code_generator.show_xml( fc ) + decls_tree, warnings = self.__code_generator.show_xml( fc, compiler_config=self.__create_gccxml_cfg() ) return decls_tree, warnings def on_view_decls( self ): fc = self.__create_fc( 'GCCXML' ) - decls_tree, warnings = self.__code_generator.show_declarations( fc ) + decls_tree, warnings = self.__code_generator.show_declarations( fc, compiler_config=self.__create_gccxml_cfg() ) return decls_tree, warnings def on_generate_bpl_code( self ): fc = self.__create_fc( 'BPL' ) - code, warnings = self.__code_generator.generate_bpl_code( fc ) + code, warnings = self.__code_generator.generate_bpl_code( fc, compiler_config=self.__create_gccxml_cfg() ) return code, warnings def on_generate_bpl_pypp_code( self ): w = wizard.wizard_t() - code = w.create_bpl_code( config.gccxml, self.__create_fc( 'BPL' ) ) + code = w.create_bpl_code( self.__create_gccxml_cfg(), self.__create_fc( 'BPL' ) ) return code, '' def on_generate_ctypes_code( self ): fc = parser.create_source_fc( self.__input[ "CTYPES_FILE_NAME" ] ) symbols_file = self.__input[ "CTYPES_SHLIB_FILE_NAME" ] - code, warnings = self.__code_generator.generate_ctypes_code( fc, symbols_file ) + code, warnings = self.__code_generator.generate_ctypes_code( fc, symbols_file, compiler_config=self.__create_gccxml_cfg() ) return code, warnings def on_generate_ctypes_pypp_code( self ): @@ -67,16 +82,3 @@ def process( self ): handler = self.__select_handler() return handler() - - - #~ source_code = request_data[ self.__source_code.name] - #~ if self.__show_decls.name in request_data: - #~ generated = self.__code_generator.show_declarations( source_code ) - #~ elif self.__generate_pypp_code.name in request_data: - #~ generated = self.__code_generator.generate_pypp_code( source_code ) - #~ elif self.__generate_bpl_code.name in request_data: - #~ generated, warnings = self.__code_generator.generate_bpl_code( source_code ) - #~ else: - #~ generated = 'error - unknown submit action' - #~ return generated, warnings - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-18 21:12:47
|
Revision: 1588 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1588&view=rev Author: roman_yakovenko Date: 2009-01-18 21:12:45 +0000 (Sun, 18 Jan 2009) Log Message: ----------- adding command line utility to generate ctypes wrapper from .dll or .so file Modified Paths: -------------- pygccxml_dev/pygccxml/parser/__init__.py pygccxml_dev/pygccxml/parser/config.py pygccxml_dev/pygccxml/utils/__init__.py Added Paths: ----------- pyplusplus_dev/scripts/wrap_library.py Modified: pygccxml_dev/pygccxml/parser/__init__.py =================================================================== --- pygccxml_dev/pygccxml/parser/__init__.py 2009-01-18 07:40:49 UTC (rev 1587) +++ pygccxml_dev/pygccxml/parser/__init__.py 2009-01-18 21:12:45 UTC (rev 1588) @@ -9,6 +9,7 @@ from config import config_t from config import gccxml_configuration_t from config import load_gccxml_configuration +from config import gccxml_configuration_example from project_reader import COMPILATION_MODE from project_reader import project_reader_t Modified: pygccxml_dev/pygccxml/parser/config.py =================================================================== --- pygccxml_dev/pygccxml/parser/config.py 2009-01-18 07:40:49 UTC (rev 1587) +++ pygccxml_dev/pygccxml/parser/config.py 2009-01-18 21:12:45 UTC (rev 1588) @@ -196,35 +196,37 @@ config_t = gccxml_configuration_t #backward computability +gccxml_configuration_example = \ +"""[gccxml] +#path to gccxml executable file - optional, if not provided, os.environ['PATH'] +#variable is used to find it +gccxml_path= +#gccxml working directory - optional, could be set to your source code directory +working_directory= +#additional include directories, separated by ';' or ':' +include_paths= +#gccxml has a nice algorithms, which selects what C++ compiler to emulate. +#You can explicitly set what compiler it should emulate. +#Valid options are: g++, msvc6, msvc7, msvc71, msvc8, cl. +compiler= +#GCC-XML site: http://gccxml.org/ +""" + def load_gccxml_configuration( configuration, **defaults ): """loads GCC-XML configuration from a file Configuration file sceleton: >>> start <<< - - [gccxml] - #path to gccxml executable file - optional, if not provided, os.environ['PATH'] - #variable is used to find it - gccxml_path= - #gccxml working directory - optional, could be set to your source code directory - working_directory= - #additional include directories, separated by ';' or ':' - include_paths= - #gccxml has a nice algorithms, which selects what C++ compiler to emulate. - #You can explicitly set what compiler it should emulate. - #Valid options are: g++, msvc6, msvc7, msvc71, msvc8, cl. - compiler= - - #GCC-XML site: http://gccxml.org/ - + + %s + >>> end <<< - configuration could be string( configuration file path ) or instance of ConfigParser.SafeConfigParser class - """ + """ % gccxml_configuration_example parser = configuration if isinstance( configuration, types.StringTypes ): from ConfigParser import SafeConfigParser Modified: pygccxml_dev/pygccxml/utils/__init__.py =================================================================== --- pygccxml_dev/pygccxml/utils/__init__.py 2009-01-18 07:40:49 UTC (rev 1587) +++ pygccxml_dev/pygccxml/utils/__init__.py 2009-01-18 21:12:45 UTC (rev 1588) @@ -162,8 +162,9 @@ def get_version(): if 'win' not in sys.platform: return None #not implemented yet - from distutils import msvccompiler - return ( 'msvc', str( msvccompiler.get_build_version() ) ) + else: + from distutils import msvccompiler + return ( 'msvc', str( msvccompiler.get_build_version() ) ) @staticmethod def get_gccxml_compiler(): Added: pyplusplus_dev/scripts/wrap_library.py =================================================================== --- pyplusplus_dev/scripts/wrap_library.py (rev 0) +++ pyplusplus_dev/scripts/wrap_library.py 2009-01-18 21:12:45 UTC (rev 1588) @@ -0,0 +1,86 @@ +import os +import sys +import types + +try: + import pygccxml +except ImportError, err: + sys.path.append( '../../pygccxml_dev' ) + import pygccxml + +try: + import pyplusplus +except ImportError, err: + sys.path.append( '..' ) + import pyplusplus + +import optparse + +parser = optparse.OptionParser() +parser.add_option( '-c' + , '--compiler-config' + , dest="compiler_config" + , help="pygccxml configuration file for GCCXML" + , type="string" + , action="store" + , default=os.path.abspath( os.path.join( os.curdir, 'gccxml.cfg' ) ) ) + +parser.add_option( '-g' + , '--generate-config' + , dest="generate_config" + , help="generates an example of the compiler configuration file (gccxml.cfg) in the current working directory" + , action="store_true" + , default=False ) + +parser.add_option( '-s' + , '--source-file' + , dest="source_file" + , help="source file name - should be specified" + , type="string" + , action="store" ) + +parser.add_option( '-d' + , '--shared-library' + , dest="shared_library" + , help=r"shared\dynamic library file name - should be specified" + , type="string" + , action="store" ) + +parser.add_option( '-o' + , '--output-file' + , dest="output_file" + , help="output file name, if not specified stdout will be used" + , type="string" + , action="store" + , default=sys.stdout ) + +def generate_code( options ): + gccxml = pygccxml.parser.load_gccxml_configuration( options.compiler_config ) + #~ import pdb + #~ pdb.set_trace() + fc = pygccxml.parser.create_source_fc( options.source_file ) + mb = pyplusplus.module_builder.ctypes_module_builder_t( [ fc ], options.shared_library, gccxml ) + mb.build_code_creator( options.shared_library ) + if isinstance( options.output_file, types.StringTypes ): + mb.write_module( options.output_file ) + else: + print mb.code_creator.create() + +if __name__ == '__main__': + options, unused = parser.parse_args(sys.argv[1:]) + + if options.generate_config: + f_path = os.path.abspath( os.path.join( os.curdir, 'gccxml.cfg' ) ) + f = file( f_path, 'w+' ) + f.write( pygccxml.parser.gccxml_configuration_example ) + f.close() + print 'file: "%s" was generated' % f_path + else: + if None is options.source_file: + parser.error("You have to specify source file") + if None is options.shared_library: + parser.error(r"You have to specify shared\dynamic library file") + else: + generate_code( options ) + + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-19 12:40:04
|
Revision: 1590 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1590&view=rev Author: roman_yakovenko Date: 2009-01-19 12:39:54 +0000 (Mon, 19 Jan 2009) Log Message: ----------- adding ability to create stand-alone executable for windows Modified Paths: -------------- pygccxml_dev/pygccxml/parser/etree_scanner.py Added Paths: ----------- pyplusplus_dev/scripts/freeze.py Modified: pygccxml_dev/pygccxml/parser/etree_scanner.py =================================================================== --- pygccxml_dev/pygccxml/parser/etree_scanner.py 2009-01-19 12:38:29 UTC (rev 1589) +++ pygccxml_dev/pygccxml/parser/etree_scanner.py 2009-01-19 12:39:54 UTC (rev 1590) @@ -4,6 +4,10 @@ # http://www.boost.org/LICENSE_1_0.txt) import scanner + +#keep py2exe happy +import xml.etree.ElementTree + import xml.etree.cElementTree as ElementTree class etree_saxifier_t(object): Added: pyplusplus_dev/scripts/freeze.py =================================================================== --- pyplusplus_dev/scripts/freeze.py (rev 0) +++ pyplusplus_dev/scripts/freeze.py 2009-01-19 12:39:54 UTC (rev 1590) @@ -0,0 +1,36 @@ +import os +import sys +#~ from cx_Freeze import setup, Executable + +sys.path.append( '..' ) +sys.path.append( '../../pygccxml_dev' ) + +import pygccxml +import pyplusplus + +#~ import encodings +#~ encodings_modules = os.listdir( os.path.dirname( encodings.__file__ ) ) +#~ encodings_modules = set([ os.path.splitext( m )[0] for m in encodings_modules ]) +#~ encodings_modules = map( lambda m: 'encodings.%s.py' % m, encodings_modules ) + +#~ executable = Executable( "wrap_library.py" + #~ , path=['../../pygccxml_dev', '..' ] + #~ , includes=encodings_modules + #~ , packages=['pygccxml','pyplusplus','encodings'] + encodings_modules ) + +#~ setup( name = "wrap_library", + #~ version = "0.1", + #~ description=r"generates ctypes code from the .dll\.so files", + #~ executables=[executable] ) + + #~ import modulefinder + #~ import win32com + #~ root = os.path.dirname( sys.executable ) + #~ modulefinder.AddPackagePath("win32com", os.path.join(root, 'Lib', 'site-packages', 'win32com' ) ) + #~ modulefinder.AddPackagePath("win32com", os.path.join(root, 'Lib', 'site-packages', 'win32comext' ) ) + + +from distutils.core import setup +import py2exe +setup( console=["wrap_library.py"] ) +#print py2exe cmd: python freeze.py py2exe This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-28 20:09:00
|
Revision: 1633 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1633&view=rev Author: roman_yakovenko Date: 2009-01-28 20:08:58 +0000 (Wed, 28 Jan 2009) Log Message: ----------- sphinx - small changes Modified Paths: -------------- pydsc_dev/pydsc.py sphinx/conf.py Removed Paths: ------------- sphinx/Makefile Property Changed: ---------------- sphinx/ Modified: pydsc_dev/pydsc.py =================================================================== --- pydsc_dev/pydsc.py 2009-01-28 18:25:43 UTC (rev 1632) +++ pydsc_dev/pydsc.py 2009-01-28 20:08:58 UTC (rev 1633) @@ -38,14 +38,20 @@ """ class FILTER_TYPE: - """defines few filter constants""" + """ + defines few filter constants + + - *INCLUDE* + - *EXCLUDE* + """ INCLUDE = 'include' EXCLUDE = 'exclude' def __init__( self, what, ftype ): """ - what - list of paths, could contain file and directory names - ftype - FILTER_TYPE constant + :parameters: + - `what` - could be file or directory name, or list of them + - `ftype` - one of the :const:`FILTER_TYPE` constants """ self.what = what if None is self.what: @@ -58,9 +64,10 @@ @staticmethod def contains_parent_dir( path, dirs ): """ - returns true if one of the directories is root directory for the path, - false otherwise - + returns true if one of the directories is root directory for the `path`, false otherwise + + :parameters: + - `path` - a path @param path: path @type path: str @@ -219,8 +226,9 @@ """documentation spell checker instance""" doc_checker = None -if 'sphinx' not in os.environ['PYDSC']: - doc_checker = checker_t( checker.SpellChecker( "en_US" ) ) +if 'PYDSC' in os.environ: + if not 'sphinx' in os.environ['PYDSC']: + doc_checker = checker_t( checker.SpellChecker( "en_US" ) ) def exclude( what ): """ Property changes on: sphinx ___________________________________________________________________ Modified: svn:ignore - __build pydsc pygccxml pyplusplus + __build pydsc pygccxml pyplusplus index.rest Deleted: sphinx/Makefile =================================================================== --- sphinx/Makefile 2009-01-28 18:25:43 UTC (rev 1632) +++ sphinx/Makefile 2009-01-28 20:08:58 UTC (rev 1633) @@ -1,75 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d __build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html web pickle htmlhelp latex changes linkcheck - -help: - @echo "Please use \`make <target>' where <target> is one of" - @echo " html to make standalone HTML files" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " changes to make an overview over all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - -clean: - -rm -rf __build/* - -html: - mkdir -p __build/html __build/doctrees - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) __build/html - @echo - @echo "Build finished. The HTML pages are in __build/html." - -pickle: - mkdir -p __build/pickle __build/doctrees - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) __build/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -web: pickle - -json: - mkdir -p __build/json __build/doctrees - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) __build/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - mkdir -p __build/htmlhelp __build/doctrees - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) __build/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in __build/htmlhelp." - -latex: - mkdir -p __build/latex __build/doctrees - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) __build/latex - @echo - @echo "Build finished; the LaTeX files are in __build/latex." - @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ - "run these through (pdf)latex." - -changes: - mkdir -p __build/changes __build/doctrees - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) __build/changes - @echo - @echo "The overview file is in __build/changes." - -linkcheck: - mkdir -p __build/linkcheck __build/doctrees - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) __build/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in __build/linkcheck/output.txt." Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-01-28 18:25:43 UTC (rev 1632) +++ sphinx/conf.py 2009-01-28 20:08:58 UTC (rev 1633) @@ -24,15 +24,31 @@ project_root = os.path.abspath('..') doc_project_root = os.path.abspath('.') packages = ( 'pydsc', 'pygccxml', 'pyplusplus' ) + +has_true_links = 'linux' in sys.platform for pkg in packages: target = os.path.join( doc_project_root, pkg ) + source = os.path.join( project_root, pkg + '_dev', 'docs' ) sys.path.append( os.path.join( project_root, pkg + '_dev' ) ) - source = os.path.join( project_root, pkg + '_dev', 'docs' ) - if os.path.exists( target ): - shutil.rmtree( target ) - shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'apidocs', 'www_configuration.py' ) ) -shutil.copy( os.path.join( project_root, 'index.rest' ), doc_project_root ) + if os.path.exists( target ): + if has_true_links: + os.unlink( target ) + else: + shutil.rmtree( target ) + + if has_true_links: + os.symlink( source, target ) + else: + shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'apidocs', 'www_configuration.py' ) ) +if has_true_links: + if os.path.exists(os.path.join( doc_project_root, 'index.rest' )): + os.unlink( os.path.join( doc_project_root, 'index.rest' ) ) + os.symlink( os.path.join( project_root, 'index.rest' ) + , os.path.join( doc_project_root, 'index.rest' ) ) +else: + shutil.copy( os.path.join( project_root, 'index.rest' ), doc_project_root ) +#disable import replacment os.environ['PYDSC'] = 'sphinx' # General configuration This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-29 06:33:20
|
Revision: 1635 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1635&view=rev Author: roman_yakovenko Date: 2009-01-29 06:33:14 +0000 (Thu, 29 Jan 2009) Log Message: ----------- rename definition.rest to definition.irest (included rest) Modified Paths: -------------- index.rest pydsc_dev/docs/pydsc.rest pygccxml_dev/docs/pygccxml.rest pyplusplus_dev/docs/comparisons/pyste.rest pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest pyplusplus_dev/docs/documentation/tutorials/tutorials.rest pyplusplus_dev/docs/examples/boost/boost.rest pyplusplus_dev/docs/examples/easybmp/easybmp.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest sphinx/conf.py Added Paths: ----------- pydsc_dev/docs/definition.irest pygccxml_dev/docs/definition.irest pyplusplus_dev/docs/definition.irest pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.irest pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.irest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.irest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.irest Removed Paths: ------------- pydsc_dev/docs/definition.rest pygccxml_dev/docs/definition.rest pyplusplus_dev/docs/definition.rest pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.rest pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.rest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.rest Modified: index.rest =================================================================== --- index.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ index.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -5,9 +5,9 @@ .. contents:: Table of contents .. toctree:: - :maxdepth: 2 + :maxdepth: 1 - pydsc/pydsc + pydsc/pydsc.rest ---------------- pygccxml package Copied: pydsc_dev/docs/definition.irest (from rev 1633, pydsc_dev/docs/definition.rest) =================================================================== --- pydsc_dev/docs/definition.irest (rev 0) +++ pydsc_dev/docs/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1 @@ +:mod:`pydsc` - PYthon Documentation string Spell Checker Deleted: pydsc_dev/docs/definition.rest =================================================================== --- pydsc_dev/docs/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pydsc_dev/docs/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1 +0,0 @@ -:mod:`pydsc` - PYthon Documentation string Spell Checker Modified: pydsc_dev/docs/pydsc.rest =================================================================== --- pydsc_dev/docs/pydsc.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pydsc_dev/docs/pydsc.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -18,7 +18,7 @@ What is pydsc? -------------- -.. include:: ./definition.rest +.. include:: ./definition.irest ---------------------- What it is useful for? Copied: pygccxml_dev/docs/definition.irest (from rev 1633, pygccxml_dev/docs/definition.rest) =================================================================== --- pygccxml_dev/docs/definition.irest (rev 0) +++ pygccxml_dev/docs/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,9 @@ +The purpose of the `GCC-XML`_ extension is to generate an XML description of a +C++ program from GCC's internal representation. + + -- Introduction to `GCC-XML`_ + +The purpose of `pygccxml`_ is to read a generated file and provide a simple +framework to navigate C++ declarations, using Python classes. + +.. _`GCC-XML` : http://www.gccxml.org Deleted: pygccxml_dev/docs/definition.rest =================================================================== --- pygccxml_dev/docs/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pygccxml_dev/docs/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,9 +0,0 @@ -The purpose of the `GCC-XML`_ extension is to generate an XML description of a -C++ program from GCC's internal representation. - - -- Introduction to `GCC-XML`_ - -The purpose of `pygccxml`_ is to read a generated file and provide a simple -framework to navigate C++ declarations, using Python classes. - -.. _`GCC-XML` : http://www.gccxml.org Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pygccxml_dev/docs/pygccxml.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -14,7 +14,7 @@ ------------ Introduction ------------ -.. include:: ./definition.rest +.. include:: ./definition.irest ------------------------ What can you do with it? Modified: pyplusplus_dev/docs/comparisons/pyste.rest =================================================================== --- pyplusplus_dev/docs/comparisons/pyste.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/comparisons/pyste.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ What is `Py++`_? ---------------------- -.. include:: ../definition.rest +.. include:: ../definition.irest ----------------- What is `Pyste`_? @@ -416,7 +416,7 @@ `Pyste`_ is `Boost.Python`_ code generator. `Py++`_ - .. include:: ../definition.rest + .. include:: ../definition.irest `Pyste`_ and `Py++`_ have been created to handle different tasks, hence the difference in design, user interface and complexity. Bruno da Silva de Copied: pyplusplus_dev/docs/definition.irest (from rev 1633, pyplusplus_dev/docs/definition.rest) =================================================================== --- pyplusplus_dev/docs/definition.irest (rev 0) +++ pyplusplus_dev/docs/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,4 @@ +`Py++`_ is an object-oriented framework for creating a code generator for +`Boost.Python`_ library. + +.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html \ No newline at end of file Deleted: pyplusplus_dev/docs/definition.rest =================================================================== --- pyplusplus_dev/docs/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,4 +0,0 @@ -`Py++`_ is an object-oriented framework for creating a code generator for -`Boost.Python`_ library. - -.. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html \ No newline at end of file Modified: pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ What is Py++? ------------- -.. include:: ./../../../definition.rest +.. include:: ./../../../definition.irest -------- Preamble Modified: pyplusplus_dev/docs/documentation/tutorials/tutorials.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ What is Py++? ------------- -.. include:: ./../../definition.rest +.. include:: ./../../definition.irest ------------------- Graphical interface Modified: pyplusplus_dev/docs/examples/boost/boost.rest =================================================================== --- pyplusplus_dev/docs/examples/boost/boost.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/examples/boost/boost.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -11,7 +11,7 @@ What is the `Py++`_? -------------------------- -.. include:: ./../../definition.rest +.. include:: ./../../definition.irest What is the Boost? ------------------ Modified: pyplusplus_dev/docs/examples/easybmp/easybmp.rest =================================================================== --- pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -18,7 +18,7 @@ What is `Py++`_? ---------------------- -.. include:: ./../../definition.rest +.. include:: ./../../definition.irest ----------- Description Modified: pyplusplus_dev/docs/pyplusplus.rest =================================================================== --- pyplusplus_dev/docs/pyplusplus.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/pyplusplus.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ What is Py++? ------------- Definition: - .. include:: ./definition.rest + .. include:: ./definition.irest `Py++`_ uses few different programming paradigms to help you to expose C++ declarations to Python. This code generator will not stand on your way. It will Modified: pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/automatic_conversion.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ Introduction ------------ -.. include:: ./definition.rest +.. include:: ./definition.irest ------- Content Copied: pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.irest (from rev 1633, pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.rest) =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.irest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,3 @@ +Boost.Python allows to define automatic conversion from\\to C++\\Python types. +While this is very, very useful functionality, the documentation for it does not +exist. This example will shed some light on "r-value"\\"l-value" converters. Deleted: pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/automatic_conversion/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,3 +0,0 @@ -Boost.Python allows to define automatic conversion from\\to C++\\Python types. -While this is very, very useful functionality, the documentation for it does not -exist. This example will shed some light on "r-value"\\"l-value" converters. Copied: pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.irest (from rev 1633, pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.rest) =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.irest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,4 @@ +Boost.Python has a limitation: it does not allow to create class, which derives +from the class defined in Python. In most use cases this should not bother you, +except one - exceptions. The example will provide you with one of the possible +solutions. \ No newline at end of file Deleted: pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/exceptions/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,4 +0,0 @@ -Boost.Python has a limitation: it does not allow to create class, which derives -from the class defined in Python. In most use cases this should not bother you, -except one - exceptions. The example will provide you with one of the possible -solutions. \ No newline at end of file Modified: pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/exceptions/exceptions.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ Introduction ------------ -.. include:: ./definition.rest +.. include:: ./definition.irest ------------------- What's the problem? Modified: pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -16,25 +16,25 @@ `custom smart pointer class`_ - .. include:: ./smart_ptrs/definition.rest + .. include:: ./smart_ptrs/definition.irest .. _`custom smart pointer class` : ./smart_ptrs/smart_ptrs.html `boost::shared_ptr< const T>`_ - .. include:: ./shared_ptr/definition.rest + .. include:: ./shared_ptr/definition.irest .. _`boost::shared_ptr< const T>` : ./shared_ptr/shared_ptr.html `automatic conversion`_ - .. include:: ./automatic_conversion/definition.rest + .. include:: ./automatic_conversion/definition.irest .. _`automatic conversion` : ./automatic_conversion/automatic_conversion.html `exceptions`_ - .. include:: ./exceptions/definition.rest + .. include:: ./exceptions/definition.irest .. _`exceptions` : ./exceptions/exceptions.html Copied: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.irest (from rev 1633, pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.rest) =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.irest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,3 @@ +Boost.Python works pretty well with ``boost::shared_ptr< T >`` class, but +additional work should be done if you want to register a conversion to +``boost::shared_ptr< const T>`` class. Deleted: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,3 +0,0 @@ -Boost.Python works pretty well with ``boost::shared_ptr< T >`` class, but -additional work should be done if you want to register a conversion to -``boost::shared_ptr< const T>`` class. Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ Introduction ------------ -.. include:: ./definition.rest +.. include:: ./definition.irest --------- Solutions Copied: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.irest (from rev 1633, pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.rest) =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.irest (rev 0) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.irest 2009-01-29 06:33:14 UTC (rev 1635) @@ -0,0 +1,3 @@ +There are projects, which use custom smart pointer(s). For majority of the +projects, it is not an option to switch to ``boost::shared_ptr``. The +solution contains source code and comprehensive unit test for the problem. Deleted: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/definition.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -1,3 +0,0 @@ -There are projects, which use custom smart pointer(s). For majority of the -projects, it is not an option to switch to ``boost::shared_ptr``. The -solution contains source code and comprehensive unit test for the problem. Modified: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2009-01-29 05:52:46 UTC (rev 1634) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2009-01-29 06:33:14 UTC (rev 1635) @@ -8,7 +8,7 @@ Introduction ------------ -.. include:: ./definition.rest +.. include:: ./definition.irest Files ----- Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-01-29 05:52:46 UTC (rev 1634) +++ sphinx/conf.py 2009-01-29 06:33:14 UTC (rev 1635) @@ -30,22 +30,22 @@ target = os.path.join( doc_project_root, pkg ) source = os.path.join( project_root, pkg + '_dev', 'docs' ) sys.path.append( os.path.join( project_root, pkg + '_dev' ) ) - if os.path.exists( target ): + if os.path.exists( target ): if has_true_links: os.unlink( target ) else: shutil.rmtree( target ) - - if has_true_links: - os.symlink( source, target ) - else: - shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'apidocs', 'www_configuration.py' ) ) + + if has_true_links: + os.symlink( source, target ) + else: + shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'apidocs', 'www_configuration.py' ) ) if has_true_links: if os.path.exists(os.path.join( doc_project_root, 'index.rest' )): os.unlink( os.path.join( doc_project_root, 'index.rest' ) ) os.symlink( os.path.join( project_root, 'index.rest' ) , os.path.join( doc_project_root, 'index.rest' ) ) -else: +else: shutil.copy( os.path.join( project_root, 'index.rest' ), doc_project_root ) #disable import replacment This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-29 07:34:51
|
Revision: 1636 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1636&view=rev Author: roman_yakovenko Date: 2009-01-29 07:34:48 +0000 (Thu, 29 Jan 2009) Log Message: ----------- sphinx Modified Paths: -------------- pydsc_dev/docs/pydsc.rest pygccxml_dev/docs/pygccxml.rest Modified: pydsc_dev/docs/pydsc.rest =================================================================== --- pydsc_dev/docs/pydsc.rest 2009-01-29 06:33:14 UTC (rev 1635) +++ pydsc_dev/docs/pydsc.rest 2009-01-29 07:34:48 UTC (rev 1636) @@ -5,7 +5,7 @@ .. contents:: Table of contents .. toctree:: - :maxdepth: 2 + :maxdepth: 1 API <api> Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2009-01-29 06:33:14 UTC (rev 1635) +++ pygccxml_dev/docs/pygccxml.rest 2009-01-29 07:34:48 UTC (rev 1636) @@ -4,13 +4,18 @@ .. contents:: Table of contents +.. toctree:: + :maxdepth: 1 + + API <api> + .. meta:: :description: C++ declarations parser :keywords: C++, source code, header file, parser, UML, free, declarations - , XML, class hierarchy, analyze, AST, code generator, + , XML, class hierarchy, analyze, AST, code generator, , синтаксический анализатор, исходный текст, исходная программа , описание, определение, иерархия классов, генератор кода - + ------------ Introduction ------------ @@ -25,8 +30,8 @@ * create a powerful code generator + `Py++`_ is heavily based on `pygccxml`_ - + generate `WSDL`_ file from sources - + ... + + generate `WSDL`_ file from sources + + ... * generate UML diagrams * build code analyzer @@ -43,7 +48,7 @@ :: select all free functions from the project - where + where name equal to "do_smth" return type is void function has two arguments @@ -58,7 +63,7 @@ ``None`` means "any type". In my opinion, the code is prety clear and readable. -If you want to know more about provided API read `query interface`__ document or +If you want to know more about provided API read `query interface`__ document or API documentation. .. __: ./query_interface.html @@ -66,38 +71,38 @@ Type traits ----------- `pygccxml`_ provides a lot of functionality to analyze C++ types and relationship -between them. For more information please refer to `design`__ document or API +between them. For more information please refer to `design`__ document or API documentation. Just a few names of algorithms: * ``is_convertible( from, to )`` - returns ``True`` if there is a conversion from type ``from`` to type ``to``, + returns ``True`` if there is a conversion from type ``from`` to type ``to``, otherwise ``False`` - + * ``is_unary_operator( oper )`` returns ``True`` if ``oper`` describes unary operator - + .. __: ./design.html Declaration dependencies ------------------------ You can query a declaration, about it dependencies - declarations it depends on. -This is very powerful and useful feature. `Py++`_, for example, uses this -functionality to check that user creates Python bindings for all relevant -declarations. +This is very powerful and useful feature. `Py++`_, for example, uses this +functionality to check that user creates Python bindings for all relevant +declarations. Caching ------- -Consider the following situation: you have to parse the same set of files every +Consider the following situation: you have to parse the same set of files every day. There are 2 possible ways to complete the task: * create a header file that includes all files you need to parse * parse each file separately and then join the results -The difference between these approaches is the caching algorithm used in the +The difference between these approaches is the caching algorithm used in the second case. `pygccxml`_ supports both of them. Actually `pygccxml`_ supports more caching strategies, read the API documentation for more information. @@ -106,15 +111,15 @@ License ------- -`Boost Software License`_. +`Boost Software License`_. ----------------- Test environments ----------------- -`pygccxml`_ comes with comprehensive unit tests. It is running on Windows XP and -`Ubuntu`_. I am using `Python`_ 2.4\\2.5 and `GCC-XML`_ CVS. `pygccxml`_ has -more then 215 tests. They test almost every piece of code. It also has performance +`pygccxml`_ comes with comprehensive unit tests. It is running on Windows XP and +`Ubuntu`_. I am using `Python`_ 2.4\\2.5 and `GCC-XML`_ CVS. `pygccxml`_ has +more then 215 tests. They test almost every piece of code. It also has performance tests. Most of the time I am using "white box" testing strategy. .. _`WSDL`: http://www.w3.org/TR/wsdl This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-01-29 14:11:23
|
Revision: 1637 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1637&view=rev Author: roman_yakovenko Date: 2009-01-29 14:11:17 +0000 (Thu, 29 Jan 2009) Log Message: ----------- sphinx Modified Paths: -------------- index.rest pygccxml_dev/docs/example/example.hpp pygccxml_dev/docs/example/example.hpp.rest pygccxml_dev/docs/example/example.hpp.xml pygccxml_dev/docs/example/example.hpp.xml.rest pygccxml_dev/docs/example/example.py pygccxml_dev/docs/example/example.py.rest pygccxml_dev/docs/example/example.rest pygccxml_dev/docs/example/output.txt pygccxml_dev/docs/example/output.txt.rest pygccxml_dev/docs/pygccxml.rest pygccxml_dev/pygccxml/declarations/call_invocation.py pygccxml_dev/pygccxml/declarations/declaration.py sphinx/conf.py Added Paths: ----------- pygccxml_dev/docs/apidocs/api.rest pygccxml_dev/docs/apidocs/binary_parsers.txt pygccxml_dev/docs/apidocs/declarations.rest pygccxml_dev/docs/apidocs/modules.txt pygccxml_dev/docs/apidocs/parser.txt pygccxml_dev/docs/apidocs/utils.txt Removed Paths: ------------- pygccxml_dev/docs/apidocs/www_configuration.py pygccxml_dev/docs/example/www_configuration.py Modified: index.rest =================================================================== --- index.rest 2009-01-29 07:34:48 UTC (rev 1636) +++ index.rest 2009-01-29 14:11:17 UTC (rev 1637) @@ -2,13 +2,6 @@ C++ Python language binding =========================== -.. contents:: Table of contents - -.. toctree:: - :maxdepth: 1 - - pydsc/pydsc.rest - ---------------- pygccxml package ---------------- @@ -73,6 +66,7 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html + Indices and tables ================== @@ -80,7 +74,14 @@ * :ref:`modindex` * :ref:`search` +.. toctree:: + :maxdepth: 2 + pydsc/pydsc.rest + pygccxml/pygccxml.rest + pyplusplus/pyplusplus.rest + + .. _`pyboost` : ./pyplusplus/examples/boost/boost.html .. _`boost.graph` : http://www.boost.org/libs/graph/doc/table_of_contents.html .. _`boost.date_time` : http://boost.org/doc/html/date_time.html Added: pygccxml_dev/docs/apidocs/api.rest =================================================================== --- pygccxml_dev/docs/apidocs/api.rest (rev 0) +++ pygccxml_dev/docs/apidocs/api.rest 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,14 @@ +============ +pygccxml API +============ + +Modules: +-------- + +.. toctree:: + :maxdepth: 4 + + binary_parsers + declarations + parser + utils Added: pygccxml_dev/docs/apidocs/binary_parsers.txt =================================================================== --- pygccxml_dev/docs/apidocs/binary_parsers.txt (rev 0) +++ pygccxml_dev/docs/apidocs/binary_parsers.txt 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,39 @@ +=========================== +pygccxml.binary_parsers API +=========================== + +This page contains the `pygccxml.binary_parsers` package API documentation. + +The :mod:`pygccxml.binary_parsers` package +------------------------------------------ + +.. automodule:: pygccxml.binary_parsers + :members: + :undoc-members: + :show-inheritance: + + +The :mod:`pygccxml.binary_parsers.get_dll_exported_symbols` module +------------------------------------------------------------------ + +.. automodule:: pygccxml.binary_parsers.get_dll_exported_symbols + :members: + :undoc-members: + :show-inheritance: + +The :mod:`pygccxml.binary_parsers.parsers` module +------------------------------------------------- + +.. automodule:: pygccxml.binary_parsers.parsers + :members: + :undoc-members: + :show-inheritance: + +The :mod:`pygccxml.binary_parsers.undname` module +------------------------------------------------- + +.. automodule:: pygccxml.binary_parsers.undname + :members: + :undoc-members: + :show-inheritance: + Added: pygccxml_dev/docs/apidocs/declarations.rest =================================================================== --- pygccxml_dev/docs/apidocs/declarations.rest (rev 0) +++ pygccxml_dev/docs/apidocs/declarations.rest 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,187 @@ +..\Pygccxml_Dev\Pygccxml\Declarations Documentation +=================================================== + +This page contains the ..\Pygccxml_Dev\Pygccxml\Declarations Package documentation. + +The :mod:`pygccxml.declarations.algorithm` module +------------------------------------------------- + +.. automodule:: pygccxml.declarations.algorithm + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.algorithms_cache` module +-------------------------------------------------------- + +.. automodule:: pygccxml.declarations.algorithms_cache + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.calldef` module +----------------------------------------------- + +.. automodule:: pygccxml.declarations.calldef + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.call_invocation` module +------------------------------------------------------- + +.. automodule:: pygccxml.declarations.call_invocation + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.class_declaration` module +--------------------------------------------------------- + +.. automodule:: pygccxml.declarations.class_declaration + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.compilers` module +------------------------------------------------- + +.. automodule:: pygccxml.declarations.compilers + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.container_traits` module +-------------------------------------------------------- + +.. automodule:: pygccxml.declarations.container_traits + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.cpptypes` module +------------------------------------------------ + +.. automodule:: pygccxml.declarations.cpptypes + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.declaration` module +--------------------------------------------------- + +.. automodule:: pygccxml.declarations.declaration + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.decl_factory` module +---------------------------------------------------- + +.. automodule:: pygccxml.declarations.decl_factory + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.decl_printer` module +---------------------------------------------------- + +.. automodule:: pygccxml.declarations.decl_printer + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.decl_visitor` module +---------------------------------------------------- + +.. automodule:: pygccxml.declarations.decl_visitor + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.dependencies` module +---------------------------------------------------- + +.. automodule:: pygccxml.declarations.dependencies + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.enumeration` module +--------------------------------------------------- + +.. automodule:: pygccxml.declarations.enumeration + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.function_traits` module +------------------------------------------------------- + +.. automodule:: pygccxml.declarations.function_traits + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.matcher` module +----------------------------------------------- + +.. automodule:: pygccxml.declarations.matcher + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.matchers` module +------------------------------------------------ + +.. automodule:: pygccxml.declarations.matchers + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.mdecl_wrapper` module +----------------------------------------------------- + +.. automodule:: pygccxml.declarations.mdecl_wrapper + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.namespace` module +------------------------------------------------- + +.. automodule:: pygccxml.declarations.namespace + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.pattern_parser` module +------------------------------------------------------ + +.. automodule:: pygccxml.declarations.pattern_parser + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.scopedef` module +------------------------------------------------ + +.. automodule:: pygccxml.declarations.scopedef + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.templates` module +------------------------------------------------- + +.. automodule:: pygccxml.declarations.templates + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.typedef` module +----------------------------------------------- + +.. automodule:: pygccxml.declarations.typedef + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.type_traits` module +--------------------------------------------------- + +.. automodule:: pygccxml.declarations.type_traits + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.type_visitor` module +---------------------------------------------------- + +.. automodule:: pygccxml.declarations.type_visitor + :members: + :show-inheritance: + +The :mod:`pygccxml.declarations.variable` module +------------------------------------------------ + +.. automodule:: pygccxml.declarations.variable + :members: + :show-inheritance: + Added: pygccxml_dev/docs/apidocs/modules.txt =================================================================== --- pygccxml_dev/docs/apidocs/modules.txt (rev 0) +++ pygccxml_dev/docs/apidocs/modules.txt 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,16 @@ +Miville Modules Documentation +============================= + +This page contains the Miville Modules documentation. + +Modules: +-------- + +.. toctree:: + :maxdepth: 4 + + __init__ + binary_parsers + declarations + parser + utils Added: pygccxml_dev/docs/apidocs/parser.txt =================================================================== --- pygccxml_dev/docs/apidocs/parser.txt (rev 0) +++ pygccxml_dev/docs/apidocs/parser.txt 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,85 @@ +..\Pygccxml_Dev\Pygccxml\Parser Documentation +============================================= + +This page contains the ..\Pygccxml_Dev\Pygccxml\Parser Package documentation. + +The :mod:`parser.config` Modules +-------------------------------- + +.. automodule:: parser.config + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.declarations_cache` Modules +-------------------------------------------- + +.. automodule:: parser.declarations_cache + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.directory_cache` Modules +----------------------------------------- + +.. automodule:: parser.directory_cache + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.etree_scanner` Modules +--------------------------------------- + +.. automodule:: parser.etree_scanner + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.linker` Modules +-------------------------------- + +.. automodule:: parser.linker + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.patcher` Modules +--------------------------------- + +.. automodule:: parser.patcher + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.project_reader` Modules +---------------------------------------- + +.. automodule:: parser.project_reader + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.scanner` Modules +--------------------------------- + +.. automodule:: parser.scanner + :members: + :undoc-members: + :show-inheritance: + +The :mod:`parser.source_reader` Modules +--------------------------------------- + +.. automodule:: parser.source_reader + :members: + :undoc-members: + :show-inheritance: + +The :mod:`..\pygccxml_dev\pygccxml\parser` Package +-------------------------------------------------- + +.. automodule:: ..\pygccxml_dev\pygccxml\parser + :members: + :undoc-members: + :show-inheritance: + Added: pygccxml_dev/docs/apidocs/utils.txt =================================================================== --- pygccxml_dev/docs/apidocs/utils.txt (rev 0) +++ pygccxml_dev/docs/apidocs/utils.txt 2009-01-29 14:11:17 UTC (rev 1637) @@ -0,0 +1,21 @@ +..\Pygccxml_Dev\Pygccxml\Utils Documentation +============================================ + +This page contains the ..\Pygccxml_Dev\Pygccxml\Utils Package documentation. + +The :mod:`utils.fs_utils` Modules +--------------------------------- + +.. automodule:: pygccxml.utils.fs_utils + :members: + :undoc-members: + :show-inheritance: + +The :mod:`..\pygccxml_dev\pygccxml\utils` Package +------------------------------------------------- + +.. automodule:: pygccxml.utils + :members: + :undoc-members: + :show-inheritance: + Deleted: pygccxml_dev/docs/apidocs/www_configuration.py =================================================================== --- pygccxml_dev/docs/apidocs/www_configuration.py 2009-01-29 07:34:48 UTC (rev 1636) +++ pygccxml_dev/docs/apidocs/www_configuration.py 2009-01-29 14:11:17 UTC (rev 1637) @@ -1,2 +0,0 @@ -name = 'API docs' -main_html_file = 'index.html' \ No newline at end of file Modified: pygccxml_dev/docs/example/example.hpp =================================================================== --- pygccxml_dev/docs/example/example.hpp 2009-01-29 07:34:48 UTC (rev 1636) +++ pygccxml_dev/docs/example/example.hpp 2009-01-29 14:11:17 UTC (rev 1637) @@ -1,4 +1,4 @@ -// Copyright 2004-2007 Roman Yakovenko. +// Copyright 2004-2009 Roman Yakovenko. // 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) @@ -6,61 +6,46 @@ #ifndef example_hpp_12_10_2006 #define example_hpp_12_10_2006 -#include <vector> -#include <string> -#include <map> namespace unittests{ struct test_results{ - + enum status{ ok, fail, error }; - - typedef std::map< std::string, status > result_container; - - void update( const std::string& name, status result ){ - m_results[ name ] = result; - } - -private: - result_container m_results; + + void update( const char* test_name, status result ); }; - + struct test_case{ - - test_case( const std::string& name ) - : m_name( name ) - {} - + + test_case( const char* test_case_name ); + virtual void set_up(){} - + virtual void tear_down(){} - + virtual void run() = 0; - + private: - const std::string m_name; + const char* m_name; }; +class test_container; + struct test_suite : public test_case{ - - typedef std::vector< test_case* > test_container; - - test_suite( const std::string& name, const test_container& tests ) - : test_case(name) - , m_tests( tests ) - {} - - virtual void run(); - - const test_results& get_results() const + + test_suite( const char* name, const test_container& tests ); + + void run(); + + const test_results& get_results() const { return m_results; } - -private: - const test_container m_tests; + +private: + test_container* m_tests; test_results m_results; }; - + } #endif//example_hpp_12_10_2006 Modified: pygccxml_dev/docs/example/example.hpp.rest =================================================================== --- pygccxml_dev/docs/example/example.hpp.rest 2009-01-29 07:34:48 UTC (rev 1636) +++ pygccxml_dev/docs/example/example.hpp.rest 2009-01-29 14:11:17 UTC (rev 1637) @@ -1,2 +1,6 @@ -.. literalinclude:: ./example.hpp - :language: c++ +=============== +C++ header file +=============== + +.. literalinclude:: example.hpp + :language: c++ Modified: pygccxml_dev/docs/example/example.hpp.xml =================================================================== --- pygccxml_dev/docs/example/example.hpp.xml 2009-01-29 07:34:48 UTC (rev 1636) +++ pygccxml_dev/docs/example/example.hpp.xml 2009-01-29 14:11:17 UTC (rev 1637) @@ -1,6888 +1,86 @@ <?xml version="1.0"?> -<GCC_XML cvs_revision="1.118"> - <Namespace id="_1" name="::" members="_3 _4 _5 _6 _7 _8 _9 _10 _11 _12 _13 _14 _15 _16 _17 _18 _20 _21 _22 _23 _24 _25 _26 _27 _28 _29 _31 _32 _33 _34 _35 _36 _37 _38 _39 _40 _41 _42 _43 _44 _45 _46 _47 _49 _50 _51 _52 _53 _54 _55 _56 _57 _58 _59 _60 _62 _63 _64 _65 _66 _67 _68 _69 _70 _71 _74 _75 _76 _77 _78 _79 _80 _81 _82 _83 _84 _85 _86 _87 _88 _89 _90 _91 _92 _93 _94 _95 _96 _97 _98 _99 _100 _101 _102 _103 _104 _105 _106 _107 _108 _109 _110 _111 _112 _113 _114 _116 _117 _118 _119 _120 _121 _122 _123 _124 _126 _127 _128 _129 _130 _131 _132 _133 _134 _135 _136 _137 _139 _140 _141 _142 _143 _144 _145 _146 _148 _149 _150 _151 _152 _153 _155 _156 _157 _158 _159 _160 _161 _162 _163 _164 _165 _166 _167 _168 _169 _170 _171 _172 _173 _174 _175 _176 _177 _178 _179 _180 _181 _182 _183 _184 _185 _186 _187 _188 _189 _190 _191 _192 _193 _194 _195 _196 _197 _198 _199 _200 _201 _202 _203 _204 _205 _206 _207 _208 _209 _210 _211 _212 _213 _214 _218 _219 _221 _220 _222 _223 _224 _225 _226 _227 _228 _229 _230 _231 _233 _234 _235 _236 _237 _238 _239 _240 _241 _242 _243 _244 _245 _246 _247 _248 _249 _250 _251 _252 _253 _254 _255 _256 _257 _258 _259 _260 _261 _262 _263 _264 _265 _266 _267 _268 _269 _270 _271 _272 _273 _276 _277 _278 _279 _280 _281 _282 _284 _283 _285 _286 _287 _288 _289 _290 _291 _292 _293 _294 _295 _296 _297 _298 _299 _300 _301 _302 _303 _304 _305 _306 _308 _309 _310 _311 _312 _313 _314 _315 _316 _317 _318 _319 _320 _321 _322 _324 _325 _326 _328 _329 _330 _331 _332 _333 _334 _335 _336 _337 _338 _339 _2 _343 _344 _345 _346 _347 _348 _349 _353 _354 _355 _356 _357 _358 _359 _360 _361 _362 _363 _364 _365 _366 _367 _368 _369 _370 _371 _372 _373 _374 _375 _376 _377 _378 _379 _380 _381 _382 _383 _384 _385 _386 _387 _388 _389 _390 _391 _232 _392 _393 _394 _395 _396 _397 _398 _399 _400 _401 _402 _406 _407 _408 _409 _410 _411 _412 _413 _414 _415 _416 _417 _418 _419 _420 _421 _423 _424 _425 _426 _427 _428 _429 _430 _431 _432 _433 _434 _437 _438 _439 _440 _441 _442 _443 _444 _445 _446 _447 _448 _450 _449 _451 _452 _453 _454 _455 _456 _457 _458 _459 _460 _461 _462 _463 _464 _465 _466 _467 _468 _469 _470 _471 _472 _473 _474 _475 _476 _477 _478 _479 _480 _481 _482 _483 _484 _485 _486 _487 _488 _489 _490 _491 _492 _493 _494 _495 _496 _497 _498 _499 _500 _501 _502 _503 _504 _505 _506 _507 _508 _509 _510 _511 _512 _513 _514 _515 _516 _517 _518 _519 _520 _521 _522 _523 _524 _525 _526 _527 _528 _529 _530 _531 _532 _533 _534 _535 _536 _537 _538 _539 _540 _541 _542 _543 _544 _545 _546 _547 _548 _549 _551 _552 _553 _554 _555 _556 _557 _558 _559 _560 _561 _562 _563 _564 _565 _566 _567 _568 _569 _570 _571 _572 _573 _574 _575 _576 _577 _578 _579 _580 _581 _582 _583 _584 " mangled="_Z2::" demangled="::"/> - <Namespace id="_2" name="std" context="_1" members="_585 _4 _617 _620 _621 _625 _626 _628 _629 _631 _632 _640 _641 _642 _62 _643 _644 _647 _648 _670 _674 _124 _677 _678 _680 _683 _684 _685 _686 _688 _689 _693 _697 _698 _700 _701 _702 _202 _703 _707 _708 _711 _716 _233 _717 _718 _720 _726 _728 _729 _730 _731 _733 _750 _299 _751 _755 _756 _757 _308 _758 _760 _764 _320 _325 _767 _768 _769 _774 _775 _776 _359 _777 _778 _385 _782 _784 _785 _792 _400 _794 _797 _418 _798 _421 _799 _800 _802 _804 _455 _461 _807 _808 _810 _811 _815 _816 _817 _818 _819 _820 _827 _503 _833 _834 _835 _839 _539 _847 _848 _850 _851 _852 _854 _855 _856 _858 _859 _864 " mangled="_Z3std" demangled="std"/> - <Function id="_3" name="_wcsset" returns="_865" context="_1" location="f0:191" file="f0" line="191" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f0:191" file="f0" line="191"/> - <Argument type="_550" location="f0:191" file="f0" line="191"/> - </Function> - <Struct id="_4" name="tm" context="_1" mangled="2tm" demangled="tm" location="f1:721" file="f1" line="721" artificial="1" size="288" align="32" members="_866 _867 _868 _869 _870 _871 _872 _873 _874 " bases=""/> - <Function id="_5" name="wcsrtombs" returns="_385" context="_1" location="f1:764" file="f1" line="764" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f1:764" file="f1" line="764"/> - <Argument type="_875" location="f1:764" file="f1" line="764"/> - <Argument type="_385" location="f1:764" file="f1" line="764"/> - <Argument type="_876" location="f1:764" file="f1" line="764"/> - </Function> - <Variable id="_6" name="_pwctype" type="_877" context="_1" location="f2:67" file="f2" line="67" extern="1"/> - <Function id="_7" name="tmpfile" returns="_878" context="_1" location="f3:320" file="f3" line="320" extern="1" attributes="__cdecl__"/> - <Function id="_8" name="_strset" returns="_138" context="_1" location="f0:103" file="f0" line="103" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f0:103" file="f0" line="103"/> - <Argument type="_307" location="f0:103" file="f0" line="103"/> - </Function> - <Function id="_9" name="wcrtomb" returns="_385" context="_1" location="f1:763" file="f1" line="763" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f1:763" file="f1" line="763"/> - <Argument type="_550" location="f1:763" file="f1" line="763"/> - <Argument type="_876" location="f1:763" file="f1" line="763"/> - </Function> - <Function id="_10" name="vprintf" returns="_307" context="_1" location="f3:325" file="f3" line="325" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> - <Argument type="_115" location="f3:325" file="f3" line="325"/> - <Argument type="_139" location="f3:325" file="f3" line="325"/> - </Function> - <Function id="_11" name="swscanf" returns="_307" context="_1" location="f3:380" file="f3" line="380" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:380" file="f3" line="380"/> - <Argument type="_879" location="f3:380" file="f3" line="380"/> - <Ellipsis/> - </Function> - <Function id="_12" name="remove" returns="_307" context="_1" location="f3:306" file="f3" line="306" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f3:306" file="f3" line="306"/> - </Function> - <Function id="_13" name="_strcmpi" returns="_307" context="_1" location="f0:121" file="f0" line="121" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f0:121" file="f0" line="121"/> - <Argument type="_115" location="f0:121" file="f0" line="121"/> - </Function> - <Function id="_14" name="_wcsicmp" returns="_307" context="_1" location="f0:187" file="f0" line="187" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f0:187" file="f0" line="187"/> - <Argument type="_879" location="f0:187" file="f0" line="187"/> - </Function> - <Function id="_15" name="_set_se_translator" returns="_31" context="_1" mangled="_Z18_set_se_translatorPFvjP19_EXCEPTION_POINTERSE" demangled="_set_se_translator(void (*)(unsigned int, _EXCEPTION_POINTERS*))" location="f4:63" file="f4" line="63" extern="1" attributes="__cdecl__"> - <Argument type="_31" location="f4:63" file="f4" line="63"/> - </Function> - <Function id="_16" name="_wpopen" returns="_878" context="_1" location="f3:393" file="f3" line="393" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:393" file="f3" line="393"/> - <Argument type="_879" location="f3:393" file="f3" line="393"/> - </Function> - <Variable id="_17" name="_fmode" type="_307" context="_1" location="f5:239" file="f5" line="239" extern="1"/> - <Function id="_18" name="_fdopen" returns="_878" context="_1" location="f3:263" file="f3" line="263" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f3:263" file="f3" line="263"/> - <Argument type="_115" location="f3:263" file="f3" line="263"/> - </Function> - <FundamentalType id="_19" name="short unsigned int" size="16" align="16"/> - <Typedef id="_20" name="wctype_t" type="_19" context="_1" location="f3:84" file="f3" line="84"/> - <Struct id="_21" name="_iobuf" context="_1" mangled="6_iobuf" demangled="_iobuf" location="f3:125" file="f3" line="125" artificial="1" size="256" align="32" members="_880 _881 _882 _883 _884 _885 _886 _887 " bases=""/> - <Function id="_22" name="wscanf" returns="_307" context="_1" location="f3:382" file="f3" line="382" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:382" file="f3" line="382"/> - <Ellipsis/> - </Function> - <Function id="_23" name="iswascii" returns="_307" context="_1" location="f1:377" file="f1" line="377" endline="377" inline="1" attributes="__cdecl__"> - <Argument name="_C" type="_503" location="f1:377" file="f1" line="377"/> - </Function> - <Variable id="_24" name="_wctype" type="_888c" context="_1" location="f2:65" file="f2" line="65" extern="1"/> - <Function id="_25" name="setbuf" returns="_890" context="_1" location="f3:311" file="f3" line="311" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:311" file="f3" line="311"/> - <Argument type="_138" location="f3:311" file="f3" line="311"/> - </Function> - <Function id="_26" name="gcvt" returns="_138" context="_1" location="f5:434" file="f5" line="434" extern="1" attributes="__cdecl__"> - <Argument type="_891" location="f5:434" file="f5" line="434"/> - <Argument type="_307" location="f5:434" file="f5" line="434"/> - <Argument type="_138" location="f5:434" file="f5" line="434"/> - </Function> - <Function id="_27" name="set_unexpected" returns="_96" context="_1" mangled="_Z14set_unexpectedPFvvE" demangled="set_unexpected(void (*)())" location="f4:62" file="f4" line="62" extern="1" attributes="__cdecl__"> - <Argument type="_96" location="f4:62" file="f4" line="62"/> - </Function> - <Function id="_28" name="_wmktemp" returns="_865" context="_1" location="f1:296" file="f1" line="296" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f1:296" file="f1" line="296"/> - </Function> - <Function id="_29" name="iswupper" returns="_307" context="_1" location="f1:365" file="f1" line="365" endline="365" inline="1" attributes="nothrow pure __cdecl__"> - <Argument name="_C" type="_503" location="f1:365" file="f1" line="365"/> - </Function> - <PointerType id="_30" type="_892" size="32" align="32"/> - <Typedef id="_31" name="_se_translator_function" type="_30" context="_1" location="f4:51" file="f4" line="51"/> - <Function id="_32" name="iscntrl" returns="_307" context="_1" location="f2:104" file="f2" line="104" extern="1" attributes="nothrow pure __cdecl__"> - <Argument type="_307" location="f2:104" file="f2" line="104"/> - </Function> - <Function id="_33" name="_wfreopen" returns="_878" context="_1" location="f3:391" file="f3" line="391" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:391" file="f3" line="391"/> - <Argument type="_879" location="f3:391" file="f3" line="391"/> - <Argument type="_878" location="f3:391" file="f3" line="391"/> - </Function> - <Function id="_34" name="_strlwr" returns="_138" context="_1" location="f0:131" file="f0" line="131" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f0:131" file="f0" line="131"/> - </Function> - <Function id="_35" name="fflush" returns="_307" context="_1" location="f3:268" file="f3" line="268" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:268" file="f3" line="268"/> - </Function> - <Function id="_36" name="_wfindnexti64" returns="_307" context="_1" location="f1:301" file="f1" line="301" extern="1" attributes="__cdecl__"> - <Argument type="_383" location="f1:301" file="f1" line="301"/> - <Argument type="_893" location="f1:301" file="f1" line="301"/> - </Function> - <Variable id="_37" name="_ZTISt9bad_alloc" type="_894c" context="_1" location="f6:17" file="f6" line="17" extern="1" artificial="1"/> - <Function id="_38" name="mbrtowc" returns="_385" context="_1" location="f1:760" file="f1" line="760" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f1:760" file="f1" line="760"/> - <Argument type="_115" location="f1:760" file="f1" line="760"/> - <Argument type="_385" location="f1:760" file="f1" line="760"/> - <Argument type="_876" location="f1:760" file="f1" line="760"/> - </Function> - <Function id="_39" name="_makepath" returns="_890" context="_1" location="f5:366" file="f5" line="366" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f5:366" file="f5" line="366"/> - <Argument type="_115" location="f5:366" file="f5" line="366"/> - <Argument type="_115" location="f5:366" file="f5" line="366"/> - <Argument type="_115" location="f5:366" file="f5" line="366"/> - <Argument type="_115" location="f5:366" file="f5" line="366"/> - </Function> - <Function id="_40" name="_putw" returns="_307" context="_1" location="f3:305" file="f3" line="305" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f3:305" file="f3" line="305"/> - <Argument type="_878" location="f3:305" file="f3" line="305"/> - </Function> - <Function id="_41" name="_wstat64" returns="_307" context="_1" location="f1:496" file="f1" line="496" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:496" file="f1" line="496"/> - <Argument type="_896" location="f1:496" file="f1" line="496"/> - </Function> - <Function id="_42" name="strtok" returns="_138" context="_1" location="f0:142" file="f0" line="142" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f0:142" file="f0" line="142"/> - <Argument type="_115" location="f0:142" file="f0" line="142"/> - </Function> - <Function id="_43" name="iswspace" returns="_307" context="_1" location="f1:369" file="f1" line="369" endline="369" inline="1" attributes="nothrow pure __cdecl__"> - <Argument name="_C" type="_503" location="f1:369" file="f1" line="369"/> - </Function> - <Function id="_44" name="_wfdopen" returns="_878" context="_1" location="f3:389" file="f3" line="389" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f3:389" file="f3" line="389"/> - <Argument type="_879" location="f3:389" file="f3" line="389"/> - </Function> - <Function id="_45" name="towupper" returns="_550" context="_1" location="f1:258" file="f1" line="258" extern="1" attributes="nothrow pure __cdecl__"> - <Argument type="_550" location="f1:258" file="f1" line="258"/> - </Function> - <Function id="_46" name="_wfullpath" returns="_865" context="_1" location="f1:628" file="f1" line="628" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f1:628" file="f1" line="628"/> - <Argument type="_879" location="f1:628" file="f1" line="628"/> - <Argument type="_385" location="f1:628" file="f1" line="628"/> - </Function> - <Function id="_47" name="__iscsymf" returns="_307" context="_1" location="f2:111" file="f2" line="111" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f2:111" file="f2" line="111"/> - </Function> - <FundamentalType id="_48" name="long int" size="32" align="32"/> - <Typedef id="_49" name="time_t" type="_48" context="_1" location="f1:89" file="f1" line="89"/> - <Struct id="_50" name="_ldiv_t" context="_1" mangled="7_ldiv_t" demangled="_ldiv_t" location="f5:119" file="f5" line="119" artificial="1" size="64" align="32" members="_897 _898 " bases=""/> - <Variable id="_51" name="__argc" type="_307" context="_1" location="f5:222" file="f5" line="222" extern="1"/> - <Variable id="_52" name="__argv" type="_899" context="_1" location="f5:223" file="f5" line="223" extern="1"/> - <Function id="_53" name="strcmpi" returns="_307" context="_1" location="f0:152" file="f0" line="152" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f0:152" file="f0" line="152"/> - <Argument type="_115" location="f0:152" file="f0" line="152"/> - </Function> - <Function id="_54" name="iswalpha" returns="_307" context="_1" location="f1:364" file="f1" line="364" endline="364" inline="1" attributes="nothrow pure __cdecl__"> - <Argument name="_C" type="_503" location="f1:364" file="f1" line="364"/> - </Function> - <Function id="_55" name="mblen" returns="_307" context="_1" location="f5:297" file="f5" line="297" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f5:297" file="f5" line="297"/> - <Argument type="_385" location="f5:297" file="f5" line="297"/> - </Function> - <Function id="_56" name="atof" returns="_891" context="_1" location="f5:269" file="f5" line="269" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f5:269" file="f5" line="269"/> - </Function> - <Function id="_57" name="atoi" returns="_307" context="_1" location="f5:270" file="f5" line="270" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f5:270" file="f5" line="270"/> - </Function> - <Function id="_58" name="___mb_cur_max_func" returns="_307" context="_1" location="f5:140" file="f5" line="140" extern="1" attributes="__cdecl__"/> - <Function id="_59" name="terminate" returns="_890" context="_1" mangled="_Z9terminatev" demangled="terminate()" location="f4:54" file="f4" line="54" extern="1" attributes="noreturn __cdecl__"/> - <Function id="_60" name="_Getdays" returns="_138" context="_1" location="f7:73" file="f7" line="73" extern="1" attributes="__cdecl__"/> - <PointerType id="_61" type="_900" size="32" align="32"/> - <Typedef id="_62" name="unexpected_handler" type="_61" context="_1" location="f4:48" file="f4" line="48"/> - <Variable id="_63" name="_ZTIN9unittests10test_suiteE" type="_894c" context="_1" location="f8:45" file="f8" line="45" extern="1" artificial="1"/> - <Function id="_64" name="wctomb" returns="_307" context="_1" location="f5:316" file="f5" line="316" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f5:316" file="f5" line="316"/> - <Argument type="_550" location="f5:316" file="f5" line="316"/> - </Function> - <Variable id="_65" name="_ZTISt16invalid_argument" type="_894c" context="_1" location="f9:68" file="f9" line="68" extern="1" artificial="1"/> - <Variable id="_66" name="_ZTISt9type_info" type="_901c" context="_1" location="f10:41" file="f10" line="41" extern="1" artificial="1"/> - <Function id="_67" name="fwprintf" returns="_307" context="_1" location="f3:359" file="f3" line="359" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:359" file="f3" line="359"/> - <Argument type="_879" location="f3:359" file="f3" line="359"/> - <Ellipsis/> - </Function> - <Function id="_68" name="_fullpath" returns="_138" context="_1" location="f5:361" file="f5" line="361" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f5:361" file="f5" line="361"/> - <Argument type="_115" location="f5:361" file="f5" line="361"/> - <Argument type="_385" location="f5:361" file="f5" line="361"/> - </Function> - <Function id="_69" name="wmemmove" returns="_865" context="_1" location="f1:795" file="f1" line="795" endline="797" inline="1"> - <Argument name="_S1" type="_865" location="f1:795" file="f1" line="795"/> - <Argument name="_S2" type="_879" location="f1:795" file="f1" line="795"/> - <Argument name="_N" type="_385" location="f1:795" file="f1" line="795"/> - </Function> - <Function id="_70" name="_cgetws" returns="_865" context="_1" location="f1:507" file="f1" line="507" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f1:507" file="f1" line="507"/> - </Function> - <Variable id="_71" name="_pgmptr" type="_138" context="_1" location="f5:233" file="f5" line="233" extern="1"/> - <Function id="_72" name="wmemchr" returns="_865" context="_1" mangled="_Z7wmemchrPwwj" demangled="wmemchr(wchar_t*, wchar_t, unsigned int)" location="f1:807" file="f1" line="807" endline="808" inline="1"> - <Argument name="_S" type="_865" location="f1:807" file="f1" line="807"/> - <Argument name="_C" type="_550" location="f1:807" file="f1" line="807"/> - <Argument name="_N" type="_385" location="f1:807" file="f1" line="807"/> - </Function> - <Function id="_73" name="wmemchr" returns="_879" context="_1" location="f1:781" file="f1" line="781" endline="785" inline="1"> - <Argument name="_S" type="_879" location="f1:781" file="f1" line="781"/> - <Argument name="_C" type="_550" location="f1:781" file="f1" line="781"/> - <Argument name="_N" type="_385" location="f1:781" file="f1" line="781"/> - </Function> - <Typedef id="_74" name="off_t" type="_48" context="_1" location="f1:414" file="f1" line="414"/> - <Function id="_75" name="wcstod" returns="_891" context="_1" location="f1:602" file="f1" line="602" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:602" file="f1" line="602"/> - <Argument type="_903" location="f1:602" file="f1" line="602"/> - </Function> - <Function id="_76" name="wcstok" returns="_865" context="_1" location="f0:182" file="f0" line="182" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f0:182" file="f0" line="182"/> - <Argument type="_879" location="f0:182" file="f0" line="182"/> - </Function> - <Function id="_77" name="wcstol" returns="_48" context="_1" location="f1:603" file="f1" line="603" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:603" file="f1" line="603"/> - <Argument type="_903" location="f1:603" file="f1" line="603"/> - <Argument type="_307" location="f1:603" file="f1" line="603"/> - </Function> - <Function id="_78" name="__iscsym" returns="_307" context="_1" location="f2:112" file="f2" line="112" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f2:112" file="f2" line="112"/> - </Function> - <Function id="_79" name="_Getdateorder" returns="_307" context="_1" location="f7:72" file="f7" line="72" extern="1" attributes="__cdecl__"/> - <Function id="_80" name="_rotl" returns="_125" context="_1" location="f5:370" file="f5" line="370" extern="1" attributes="__cdecl__"> - <Argument type="_125" location="f5:370" file="f5" line="370"/> - <Argument type="_307" location="f5:370" file="f5" line="370"/> - </Function> - <Function id="_81" name="_rotr" returns="_125" context="_1" location="f5:372" file="f5" line="372" extern="1" attributes="__cdecl__"> - <Argument type="_125" location="f5:372" file="f5" line="372"/> - <Argument type="_307" location="f5:372" file="f5" line="372"/> - </Function> - <Function id="_82" name="_Tolower" returns="_307" context="_1" location="f7:88" file="f7" line="88" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f7:88" file="f7" line="88"/> - <Argument type="_904" location="f7:88" file="f7" line="88"/> - </Function> - <Function id="_83" name="sprintf" returns="_307" context="_1" location="f3:315" file="f3" line="315" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> - <Argument type="_138" location="f3:315" file="f3" line="315"/> - <Argument type="_115" location="f3:315" file="f3" line="315"/> - <Ellipsis/> - </Function> - <Function id="_84" name="strtod" returns="_891" context="_1" location="f5:311" file="f5" line="311" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f5:311" file="f5" line="311"/> - <Argument type="_899" location="f5:311" file="f5" line="311"/> - </Function> - <Function id="_85" name="strtol" returns="_48" context="_1" location="f5:312" file="f5" line="312" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f5:312" file="f5" line="312"/> - <Argument type="_899" location="f5:312" file="f5" line="312"/> - <Argument type="_307" location="f5:312" file="f5" line="312"/> - </Function> - <Function id="_86" name="putchar" returns="_307" context="_1" location="f3:303" file="f3" line="303" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f3:303" file="f3" line="303"/> - </Function> - <Function id="_87" name="wcstombs" returns="_385" context="_1" location="f5:317" file="f5" line="317" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f5:317" file="f5" line="317"/> - <Argument type="_879" location="f5:317" file="f5" line="317"/> - <Argument type="_385" location="f5:317" file="f5" line="317"/> - </Function> - <Function id="_88" name="wmemcmp" returns="_307" context="_1" location="f1:786" file="f1" line="786" endline="790" inline="1"> - <Argument name="_S1" type="_879" location="f1:786" file="f1" line="786"/> - <Argument name="_S2" type="_879" location="f1:786" file="f1" line="786"/> - <Argument name="_N" type="_385" location="f1:786" file="f1" line="786"/> - </Function> - <Function id="_89" name="getc" returns="_307" context="_1" location="f3:293" file="f3" line="293" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:293" file="f3" line="293"/> - </Function> - <Function id="_90" name="gets" returns="_138" context="_1" location="f3:296" file="f3" line="296" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f3:296" file="f3" line="296"/> - </Function> - <Function id="_91" name="getw" returns="_307" context="_1" location="f3:442" file="f3" line="442" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:442" file="f3" line="442"/> - </Function> - <Function id="_92" name="_vscprintf" returns="_307" context="_1" location="f3:328" file="f3" line="328" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f3:328" file="f3" line="328"/> - <Argument type="_139" location="f3:328" file="f3" line="328"/> - </Function> - <Function id="_93" name="_wcsnset" returns="_865" context="_1" location="f0:189" file="f0" line="189" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f0:189" file="f0" line="189"/> - <Argument type="_550" location="f0:189" file="f0" line="189"/> - <Argument type="_385" location="f0:189" file="f0" line="189"/> - </Function> - <Function id="_94" name="_wcslwr" returns="_865" context="_1" location="f0:193" file="f0" line="193" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f0:193" file="f0" line="193"/> - </Function> - <Function id="_95" name="fputchar" returns="_307" context="_1" location="f3:441" file="f3" line="441" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f3:441" file="f3" line="441"/> - </Function> - <Typedef id="_96" name="unexpected_function" type="_61" context="_1" location="f4:46" file="f4" line="46"/> - <Function id="_97" name="wmemcpy" returns="_865" context="_1" location="f1:791" file="f1" line="791" endline="793" inline="1"> - <Argument name="_S1" type="_865" location="f1:791" file="f1" line="791"/> - <Argument name="_S2" type="_879" location="f1:791" file="f1" line="791"/> - <Argument name="_N" type="_385" location="f1:791" file="f1" line="791"/> - </Function> - <Function id="_98" name="printf" returns="_307" context="_1" location="f3:301" file="f3" line="301" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> - <Argument type="_115" location="f3:301" file="f3" line="301"/> - <Ellipsis/> - </Function> - <Namespace id="_99" name="unittests" context="_1" members="_905 _906 _907 " mangled="_Z9unittests" demangled="unittests"/> - <Variable id="_100" name="_environ" type="_899" context="_1" location="f5:229" file="f5" line="229" extern="1"/> - <Function id="_101" name="qsort" returns="_890" context="_1" location="f5:302" file="f5" line="302" extern="1" attributes="__cdecl__"> - <Argument type="_908" location="f5:302" file="f5" line="302"/> - <Argument type="_385" location="f5:302" file="f5" line="302"/> - <Argument type="_385" location="f5:302" file="f5" line="302"/> - <Argument type="_909" location="f5:302" file="f5" line="302"/> - </Function> - <Variable id="_102" name="_ZTISt7codecvtIwciE" type="_894c" context="_1" location="f11:655" file="f11" line="655" extern="1" artificial="1"/> - <Function id="_103" name="_cputws" returns="_307" context="_1" location="f1:512" file="f1" line="512" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:512" file="f1" line="512"/> - </Function> - <Variable id="_104" name="_wpgmptr" type="_865" context="_1" location="f5:234" file="f5" line="234" extern="1"/> - <Function id="_105" name="__cxa_end_catch" returns="_890" context="_1" location="f12:592" file="f12" line="592" extern="1"/> - <Function id="_106" name="fseek" returns="_307" context="_1" location="f3:290" file="f3" line="290" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:290" file="f3" line="290"/> - <Argument type="_48" location="f3:290" file="f3" line="290"/> - <Argument type="_307" location="f3:290" file="f3" line="290"/> - </Function> - <Function id="_107" name="flushall" returns="_307" context="_1" location="f3:440" file="f3" line="440" extern="1" attributes="__cdecl__"/> - <Variable id="_108" name="_ZTISt9basic_iosItSt11char_traitsItEE" type="_894c" context="_1" location="f13:16" file="f13" line="16" extern="1" artificial="1"/> - <Function id="_109" name="vwprintf" returns="_307" context="_1" location="f3:370" file="f3" line="370" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:370" file="f3" line="370"/> - <Argument type="_139" location="f3:370" file="f3" line="370"/> - </Function> - <Function id="_110" name="__isascii" returns="_307" context="_1" location="f2:109" file="f2" line="109" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f2:109" file="f2" line="109"/> - </Function> - <Function id="_111" name="__toascii" returns="_307" context="_1" location="f2:110" file="f2" line="110" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f2:110" file="f2" line="110"/> - </Function> - <Function id="_112" name="getchar" returns="_307" context="_1" location="f3:294" file="f3" line="294" extern="1" attributes="__cdecl__"/> - <Function id="_113" name="memchr" returns="_908" context="_1" location="f0:110" file="f0" line="110" extern="1" attributes="__cdecl__"> - <Argument type="_910" location="f0:110" file="f0" line="110"/> - <Argument type="_307" location="f0:110" file="f0" line="110"/> - <Argument type="_385" location="f0:110" file="f0" line="110"/> - </Function> - <Function id="_114" name="clearerr" returns="_890" context="_1" location="f3:256" file="f3" line="256" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:256" file="f3" line="256"/> - </Function> - <PointerType id="_115" type="_911c" size="32" align="32"/> - <Typedef id="_116" name="__exString" type="_115" context="_1" location="f14:36" file="f14" line="36"/> - <Variable id="_117" name="_ZTISt14overflow_error" type="_894c" context="_1" location="f9:167" file="f9" line="167" extern="1" artificial="1"/> - <Function id="_118" name="fgetchar" returns="_307" context="_1" location="f3:438" file="f3" line="438" extern="1" attributes="__cdecl__"/> - <Variable id="_119" name="_ZTIN9unittests9test_caseE" type="_901c" context="_1" location="f8:29" file="f8" line="29" extern="1" artificial="1"/> - <Function id="_120" name="setvbuf" returns="_307" context="_1" location="f3:313" file="f3" line="313" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:313" file="f3" line="313"/> - <Argument type="_138" location="f3:313" file="f3" line="313"/> - <Argument type="_307" location="f3:313" file="f3" line="313"/> - <Argument type="_385" location="f3:313" file="f3" line="313"/> - </Function> - <Function id="_121" name="memmove" returns="_908" context="_1" location="f1:773" file="f1" line="773" extern="1" attributes="nothrow __cdecl__ nonnull"> - <Argument type="_908" location="f0:116" file="f0" line="116"/> - <Argument type="_910" location="f0:116" file="f0" line="116"/> - <Argument type="_385" location="f0:116" file="f0" line="116"/> - </Function> - <Function id="_122" name="_ecvt" returns="_138" context="_1" location="f5:354" file="f5" line="354" extern="1" attributes="__cdecl__"> - <Argument type="_891" location="f5:354" file="f5" line="354"/> - <Argument type="_307" location="f5:354" file="f5" line="354"/> - <Argument type="_913" location="f5:354" file="f5" line="354"/> - <Argument type="_913" location="f5:354" file="f5" line="354"/> - </Function> - <Function id="_123" name="_strncoll" returns="_307" context="_1" location="f0:125" file="f0" line="125" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f0:125" file="f0" line="125"/> - <Argument type="_115" location="f0:125" file="f0" line="125"/> - <Argument type="_385" location="f0:125" file="f0" line="125"/> - </Function> - <Typedef id="_124" name="new_handler" type="_61" context="_2" location="f6:40" file="f6" line="40"/> - <FundamentalType id="_125" name="unsigned int" size="32" align="32"/> - <Typedef id="_126" name="_dev_t" type="_125" context="_1" location="f1:402" file="f1" line="402"/> - <Function id="_127" name="memcpy" returns="_908" context="_1" location="f1:775" file="f1" line="775" extern="1" attributes="nothrow __cdecl__ nonnull"> - <Argument type="_908" location="f0:100" file="f0" line="100"/> - <Argument type="_910" location="f0:100" file="f0" line="100"/> - <Argument type="_385" location="f0:100" file="f0" line="100"/> - </Function> - <Function id="_128" name="strncat" returns="_138" context="_1" location="f0:132" file="f0" line="132" extern="1" attributes="nothrow __cdecl__ nonnull"> - <Argument type="_138" location="f0:132" file="f0" line="132"/> - <Argument type="_115" location="f0:132" file="f0" line="132"/> - <Argument type="_385" location="f0:132" file="f0" line="132"/> - </Function> - <Function id="_129" name="_wcsnicoll" returns="_307" context="_1" location="f0:199" file="f0" line="199" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f0:199" file="f0" line="199"/> - <Argument type="_879" location="f0:199" file="f0" line="199"/> - <Argument type="_385" location="f0:199" file="f0" line="199"/> - </Function> - <Function id="_130" name="ultoa" returns="_138" context="_1" location="f5:440" file="f5" line="440" extern="1" attributes="__cdecl__"> - <Argument type="_323" location="f5:440" file="f5" line="440"/> - <Argument type="_138" location="f5:440" file="f5" line="440"/> - <Argument type="_307" location="f5:440" file="f5" line="440"/> - </Function> - <Function id="_131" name="_wfindfirst64" returns="_383" context="_1" location="f1:300" file="f1" line="300" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f1:300" file="f1" line="300"/> - <Argument type="_914" location="f1:300" file="f1" line="300"/> - </Function> - <Function id="_132" name="_wspawnve" returns="_383" context="_1" location="f1:335" file="f1" line="335" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f1:335" file="f1" line="335"/> - <Argument type="_879" location="f1:335" file="f1" line="335"/> - <Argument type="_915" location="f1:335" file="f1" line="335"/> - <Argument type="_915" location="f1:335" file="f1" line="335"/> - </Function> - <Function id="_133" name="fgetwc" returns="_503" context="_1" location="f3:344" file="f3" line="344" extern="1" attributes="__cdecl__"> - <Argument type="_878" location="f3:344" file="f3" line="344"/> - </Function> - <Function id="_134" name="bsearch" returns="_908" context="_1" location="f5:273" file="f5" line="273" extern="1" attributes="__cdecl__"> - <Argument type="_910" location="f5:273" file="f5" line="273"/> - <Argument type="_910" location="f5:273" file="f5" line="273"/> - <Argument type="_385" location="f5:273" file="f5" line="273"/> - <Argument type="_385" location="f5:273" file="f5" line="273"/> - <Argument type="_909" location="f5:273" file="f5" line="273"/> - </Function> - <Function id="_135" name="fgetws" returns="_865" context="_1" location="f3:354" file="f3" line="354" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f3:354" file="f3" line="354"/> - <Argument type="_307" location="f3:354" file="f3" line="354"/> - <Argument type="_878" location="f3:354" file="f3" line="354"/> - </Function> - <Function id="_136" name="vsprintf" returns="_307" context="_1" location="f3:327" file="f3" line="327" extern="1" attributes="nothrow __cdecl__ nonnull() format(,,)"> - <Argument type="_138" location="f3:327" file="f3" line="327"/> - <Argument type="_115" location="f3:327" file="f3" line="327"/> - <Argument type="_139" location="f3:327" file="f3" line="327"/> - </Function> - <Function id="_137" name="mbstowcs" returns="_385" context="_1" location="f5:300" file="f5" line="300" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f5:300" file="f5" line="300"/> - <Argument type="_115" location="f5:300" file="f5" line="300"/> - <Argument type="_385" location="f5:300" file="f5" line="300"/> - </Function> - <PointerType id="_138" type="_911" size="32" align="32"/> - <Typedef id="_139" name="va_list" type="_138" context="_1" location="f3:96" file="f3" line="96"/> - <Function id="_140" name="_Strcoll" returns="_307" context="_1" location="f7:83" file="f7" line="83" extern="1" attributes="__cdecl__"> - <Argument type="_115" location="f7:83" file="f7" line="83"/> - <Argument type="_115" location="f7:83" file="f7" line="83"/> - <Argument type="_115" location="f7:83" file="f7" line="83"/> - <Argument type="_115" location="f7:83" file="f7" line="83"/> - <Argument type="_916" location="f7:83" file="f7" line="83"/> - </Function> - <Function id="_141" name="_Getcvt" returns="_450" context="_1" location="f7:70" file="f7" line="70" extern="1" attributes="__cdecl__"/> - <Function id="_142" name="_wremove" returns="_307" context="_1" location="f3:394" file="f3" line="394" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f3:394" file="f3" line="394"/> - </Function> - <Function id="_143" name="iswprint" returns="_307" context="_1" location="f1:372" file="f1" line="372" endline="373" inline="1" attributes="nothrow pure __cdecl__"> - <Argument name="_C" type="_503" location="f1:372" file="f1" line="372"/> - </Function> - <Variable id="_144" name="_ZTI10bad_typeid" type="_894c" context="_1" location="f10:68" file="f10" line="68" extern="1" artificial="1"/> - <Variable id="_145" name="_ZTISt11range_error" type="_894c" context="_1" location="f9:213" file="f9" line="213" extern="1" artificial="1"/> - <Function id="_146" name="_Getwctypes" returns="_879" context="_1" location="f7:99" file="f7" line="99" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f7:99" file="f7" line="99"/> - <Argument type="_879" location="f7:99" file="f7" line="99"/> - <Argument type="_917" location="f7:99" file="f7" line="99"/> - <Argument type="_904" location="f7:99" file="f7" line="99"/> - </Function> - <PointerType id="_147" type="_918" size="32" align="32"/> - <Typedef id="_148" name="_secerr_handler_func" type="_147" context="_1" location="f5:172" file="f5" line="172"/> - <Function id="_149" name="strnset" returns="_138" context="_1" location="f0:157" file="f0" line="157" extern="1" attributes="__cdecl__"> - <Argument type="_138" location="f0:157" file="f0" line="157"/> - <Argument type="_307" location="f0:157" file="f0" line="157"/> - <Argument type="_385" location="f0:157" file="f0" line="157"/> - </Function> - <Function id="_150" name="wcsicoll" returns="_307" context="_1" location="f0:215" file="f0" line="215" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f0:215" file="f0" line="215"/> - <Argument type="_879" location="f0:215" file="f0" line="215"/> - </Function> - <Function id="_151" name="fcvt" returns="_138" context="_1" location="f5:433" file="f5" line="433" extern="1" attributes="__cdecl__"> - <Argument type="_891" location="f5:433" file="f5" line="433"/> - <Argument type="_307" location="f5:433" file="f5" line="433"/> - <Argument type="_913" location="f5:433" file="f5" line="433"/> - <Argument type="_913" location="f5:433" file="f5" line="433"/> - </Function> - <Function id="_152" name="_Mbrtowc" returns="_307" context="_1" location="f7:78" file="f7" line="78" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f7:78" file="f7" line="78"/> - <Argument type="_115" location="f7:78" file="f7" line="78"/> - <Argument type="_385" location="f7:78" file="f7" line="78"/> - <Argument type="_876" location="f7:78" file="f7" line="78"/> - <Argument type="_919" location="f7:78" file="f7" line="78"/> - </Function> - <Function id="_153" name="mbtowc" returns="_307" context="_1" location="f5:299" file="f5" line="299" extern="1" attributes="__cdecl__"> - <Argument type="_865" location="f5:299" file="f5" line="299"/> - <Argument type="_115" location="f5:299" file="f5" line="299"/> - <Argument type="_385" location="f5:299" file="f5" line="299"/> - </Function> - <FundamentalType id="_154" name="long long int" size="64" align="64"/> - <Typedef id="_155" name="__time64_t" type="_154" context="_1" location="f1:96" file="f1" line="96"/> - <Function id="_156" name="_cwprintf" returns="_307" context="_1" location="f1:513" file="f1" line="513" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:513" file="f1" line="513"/> - <Ellipsis/> - </Function> - <Function id="_157" name="abort" returns="_890" context="_1" location="f5:255" file="f5" line="255" extern="1" attributes="nothrow noreturn __cdecl__"/> - <Function id="_158" name="onexit" returns="_423" context="_1" location="f5:437" file="f5" line="437" extern="1" attributes="__cdecl__"> - <Argument type="_423" location="f5:437" file="f5" line="437"/> - </Function> - <Function id="_159" name="iswlower" returns="_307" context="_1" location="f1:366" file="f1" line="366" endline="366" inline="1" attributes="nothrow pure __cdecl__"> - <Argument name="_C" type="_503" location="f1:366" file="f1" line="366"/> - </Function> - <Variable id="_160" name="_ZTISt12length_error" type="_894c" context="_1" location="f9:91" file="f9" line="91" extern="1" artificial="1"/> - <Function id="_161" name="getwchar" returns="_503" context="_1" location="f3:349" file="f3" line="349" extern="1" attributes="__cdecl__"/> - <Function id="_162" name="_wtof" returns="_891" context="_1" location="f1:607" file="f1" line="607" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:607" file="f1" line="607"/> - </Function> - <Function id="_163" name="_itoa" returns="_138" context="_1" location="f5:281" file="f5" line="281" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f5:281" file="f5" line="281"/> - <Argument type="_138" location="f5:281" file="f5" line="281"/> - <Argument type="_307" location="f5:281" file="f5" line="281"/> - </Function> - <Function id="_164" name="_wtoi" returns="_307" context="_1" location="f1:608" file="f1" line="608" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:608" file="f1" line="608"/> - </Function> - <Function id="_165" name="_wtol" returns="_48" context="_1" location="f1:609" file="f1" line="609" extern="1" attributes="__cdecl__"> - <Argument type="_879" location="f1:609" file="f1" line="609"/> - </Function> - <Function id="_166" name="strncmp" returns="_307" context="_1" location="f0:133" file="f0" line="133" extern="1" attributes="nothrow pure __cdecl__ nonnull"> - <Argument type="_115" location="f0:133" file="f0" line="133"/> - <Argument type="_115" location="f0:133" file="f0" line="133"/> - <Argument type="_385" location="f0:133" file="f0" line="133"/> - </Function> - <Function id="_167" name="_itow" returns="_865" context="_1" location="f1:599" file="f1" line="599" extern="1" attributes="__cdecl__"> - <Argument type="_307" location="f1:599" file="f1" line="599"/> - <Argument type="_865" location="f1:599" file="f1" line="599"/> - <Argument type... [truncated message content] |
From: <rom...@us...> - 2009-02-01 18:29:38
|
Revision: 1646 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1646&view=rev Author: roman_yakovenko Date: 2009-02-01 18:29:31 +0000 (Sun, 01 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/docs/design.rest pygccxml_dev/docs/download.rest pygccxml_dev/docs/history/history.rest pygccxml_dev/docs/links.rest pygccxml_dev/docs/query_interface.rest pygccxml_dev/docs/upgrade_issues.rest pygccxml_dev/docs/users.rest pyplusplus_dev/docs/comparisons/pyste.rest pyplusplus_dev/docs/documentation/architecture.rest pyplusplus_dev/docs/documentation/containers.rest pyplusplus_dev/docs/documentation/ctypes/ctypes_integration.rest pyplusplus_dev/docs/documentation/ctypes/this_and_sizeof.rest pyplusplus_dev/docs/documentation/ctypes/unions.rest pyplusplus_dev/docs/documentation/ctypes/variables.rest pyplusplus_dev/docs/documentation/doc_string.rest pyplusplus_dev/docs/documentation/functions/call_policies/as_tuple.rest pyplusplus_dev/docs/documentation/functions/call_policies/call_policies.rest pyplusplus_dev/docs/documentation/functions/call_policies/custom_call_policies.rest pyplusplus_dev/docs/documentation/functions/call_policies/return_addressof.rest pyplusplus_dev/docs/documentation/functions/call_policies/return_pointee_value.rest pyplusplus_dev/docs/documentation/functions/call_policies/return_range.rest pyplusplus_dev/docs/documentation/functions/default_args.rest pyplusplus_dev/docs/documentation/functions/functions.rest pyplusplus_dev/docs/documentation/functions/make_constructor.rest pyplusplus_dev/docs/documentation/functions/overloading.rest pyplusplus_dev/docs/documentation/functions/registration_order.rest pyplusplus_dev/docs/documentation/functions/transformation/inout.rest pyplusplus_dev/docs/documentation/functions/transformation/input.rest pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest pyplusplus_dev/docs/documentation/functions/transformation/output.rest pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest pyplusplus_dev/docs/documentation/how_to/best_practices.rest pyplusplus_dev/docs/documentation/how_to/exception_translation.rest pyplusplus_dev/docs/documentation/how_to/hints.rest pyplusplus_dev/docs/documentation/how_to/how_to.rest pyplusplus_dev/docs/documentation/how_to/templates.rest pyplusplus_dev/docs/documentation/index.rest pyplusplus_dev/docs/documentation/inserting_code.rest pyplusplus_dev/docs/documentation/multi_module_development.rest pyplusplus_dev/docs/documentation/properties.rest pyplusplus_dev/docs/documentation/split_module.rest pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest pyplusplus_dev/docs/documentation/tutorials/tutorials.rest pyplusplus_dev/docs/documentation/warnings.rest pyplusplus_dev/docs/download.rest pyplusplus_dev/docs/examples/boost/boost.rest pyplusplus_dev/docs/examples/easybmp/easybmp.rest pyplusplus_dev/docs/history/history.rest pyplusplus_dev/docs/links.rest pyplusplus_dev/docs/osdc2006/presentation-talk.rest pyplusplus_dev/docs/quotes.rest pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/sconstruct.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/solution.cpp.rest pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/test.py.rest pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest sphinx/conf.py Removed Paths: ------------- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/www_configuration.py Modified: pygccxml_dev/docs/design.rest =================================================================== --- pygccxml_dev/docs/design.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/design.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ pygccxml design =============== -.. contents:: Table of contents - ------------------------ The view from 10000 fits ------------------------ Modified: pygccxml_dev/docs/download.rest =================================================================== --- pygccxml_dev/docs/download.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/download.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ pygccxml download ================= -.. contents:: Table of contents - ------------------------- pygccxml on SourceForge ------------------------- Modified: pygccxml_dev/docs/history/history.rest =================================================================== --- pygccxml_dev/docs/history/history.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/history/history.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ pygccxml development history ============================ -.. contents:: Table of contents - ------------ Contributors ------------ Modified: pygccxml_dev/docs/links.rest =================================================================== --- pygccxml_dev/docs/links.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/links.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ C++ Reflection ============== -.. contents:: Table of contents - ----- Links ----- Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/query_interface.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ pygccxml.declarations query API =============================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pygccxml_dev/docs/upgrade_issues.rest =================================================================== --- pygccxml_dev/docs/upgrade_issues.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/upgrade_issues.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ GCC-XML 0.7 -> 0.9 upgrade issues ================================= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pygccxml_dev/docs/users.rest =================================================================== --- pygccxml_dev/docs/users.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pygccxml_dev/docs/users.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Who is using pygccxml? ====================== -.. contents:: Table of contents - Users ----- Modified: pyplusplus_dev/docs/comparisons/pyste.rest =================================================================== --- pyplusplus_dev/docs/comparisons/pyste.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/comparisons/pyste.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Pyste & Py++ comparison ======================== -.. contents:: Table of contents - ---------------------- What is `Py++`_? ---------------------- Modified: pyplusplus_dev/docs/documentation/architecture.rest =================================================================== --- pyplusplus_dev/docs/documentation/architecture.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/architecture.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Architecture ============ -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/containers.rest =================================================================== --- pyplusplus_dev/docs/documentation/containers.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/containers.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ C++ containers support ====================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/ctypes/ctypes_integration.rest =================================================================== --- pyplusplus_dev/docs/documentation/ctypes/ctypes_integration.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/ctypes/ctypes_integration.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ctypes integration ================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/ctypes/this_and_sizeof.rest =================================================================== --- pyplusplus_dev/docs/documentation/ctypes/this_and_sizeof.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/ctypes/this_and_sizeof.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ this & sizeof ============= -.. contents:: Table of contents - ----------- The purpose ----------- Modified: pyplusplus_dev/docs/documentation/ctypes/unions.rest =================================================================== --- pyplusplus_dev/docs/documentation/ctypes/unions.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/ctypes/unions.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ C++ union ========= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/ctypes/variables.rest =================================================================== --- pyplusplus_dev/docs/documentation/ctypes/variables.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/ctypes/variables.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Variables ========= -.. contents:: Table of contents - -------------- expose_address -------------- Modified: pyplusplus_dev/docs/documentation/doc_string.rest =================================================================== --- pyplusplus_dev/docs/documentation/doc_string.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/doc_string.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Documentation string ==================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/call_policies/as_tuple.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/as_tuple.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/as_tuple.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ as_tuple ======== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/call_policies/call_policies.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/call_policies.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/call_policies.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Call policies ============= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/call_policies/custom_call_policies.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/custom_call_policies.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/custom_call_policies.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ custom_call_policies ==================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/call_policies/return_addressof.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/return_addressof.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/return_addressof.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ return_addressof ================ -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/call_policies/return_pointee_value.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/return_pointee_value.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/return_pointee_value.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ return_pointee_value ==================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/call_policies/return_range.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/call_policies/return_range.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/call_policies/return_range.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ return_range ============= -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/default_args.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/default_args.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/default_args.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Default arguments ================= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/functions.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/functions.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/functions.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Functions & operators ===================== -.. contents:: Table of contents - -------- Preamble -------- Modified: pyplusplus_dev/docs/documentation/functions/make_constructor.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/make_constructor.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/make_constructor.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ make_constructor ================ -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/overloading.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/overloading.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/overloading.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Overloading =========== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/registration_order.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/registration_order.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/registration_order.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Registration order ================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/functions/transformation/inout.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/inout.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``inout`` transformer ====================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/input.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/input.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``input`` transformer ====================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_c_buffer.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``input_c_buffer`` transformer ================================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/input_static_array.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``input_static_array`` transformer ================================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/modify_type.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``modify_type`` transformer =========================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/name_mangling.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Name mangling ============= -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/output.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/output.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``output`` transformer ====================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/output_static_array.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``output_static_array`` transformer =================================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/terminology.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Terminology =========== -.. contents:: Table of contents - **Function transformation** `Py++`_ sub-system\\framework, which allows you to create function wrappers Modified: pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/transfer_ownership.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ ``transfer_ownership`` transformer ================================== -.. contents:: Table of contents - ---------- Definition ---------- Modified: pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest =================================================================== --- pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/functions/transformation/transformation.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Function transformation ======================= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/how_to/best_practices.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to/best_practices.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/how_to/best_practices.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Best practices ============== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/how_to/exception_translation.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to/exception_translation.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/how_to/exception_translation.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ How to register an exception translation? ========================================= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/how_to/hints.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to/hints.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/how_to/hints.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Hints ===== -.. contents:: Table of contents - ---------------------------------- Class template instantiation alias ---------------------------------- Modified: pyplusplus_dev/docs/documentation/how_to/how_to.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to/how_to.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/how_to/how_to.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ How to ... ? ============ -.. contents:: Table of contents - `How to deal with templates?`_ .. _`How to deal with templates?` : ./templates.html Modified: pyplusplus_dev/docs/documentation/how_to/templates.rest =================================================================== --- pyplusplus_dev/docs/documentation/how_to/templates.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/how_to/templates.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ How to deal with templates? =========================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/index.rest =================================================================== --- pyplusplus_dev/docs/documentation/index.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/index.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Py++ documentation ================== -.. contents:: Table of contents - ------------ Help needed! ------------ Modified: pyplusplus_dev/docs/documentation/inserting_code.rest =================================================================== --- pyplusplus_dev/docs/documentation/inserting_code.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/inserting_code.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Inserting code ============== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/multi_module_development.rest =================================================================== --- pyplusplus_dev/docs/documentation/multi_module_development.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/multi_module_development.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Multi-module development ======================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/properties.rest =================================================================== --- pyplusplus_dev/docs/documentation/properties.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/properties.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Properties ========== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/split_module.rest =================================================================== --- pyplusplus_dev/docs/documentation/split_module.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/split_module.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Splitting generated code to files ================================= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/tutorials/module_builder/module_builder.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Py++ tutorials ============== -.. contents:: Table of contents - ------------- What is Py++? ------------- Modified: pyplusplus_dev/docs/documentation/tutorials/tutorials.rest =================================================================== --- pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/tutorials/tutorials.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ tutorials ========= -.. contents:: Table of contents - ------------- What is Py++? ------------- Modified: pyplusplus_dev/docs/documentation/warnings.rest =================================================================== --- pyplusplus_dev/docs/documentation/warnings.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/documentation/warnings.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Py++ warnings ============= -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/download.rest =================================================================== --- pyplusplus_dev/docs/download.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/download.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Py++ download ============= -.. contents:: Table of contents - ------------------- Py++ on SourceForge ------------------- Modified: pyplusplus_dev/docs/examples/boost/boost.rest =================================================================== --- pyplusplus_dev/docs/examples/boost/boost.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/examples/boost/boost.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ boost libraries =============== -.. contents:: Table of contents - -------------- Introduction -------------- Modified: pyplusplus_dev/docs/examples/easybmp/easybmp.rest =================================================================== --- pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/examples/easybmp/easybmp.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ EasyBMP example =============== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/history/history.rest =================================================================== --- pyplusplus_dev/docs/history/history.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/history/history.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Py++ development history ======================== -.. contents:: Table of contents - ------------ Contributors ------------ Modified: pyplusplus_dev/docs/links.rest =================================================================== --- pyplusplus_dev/docs/links.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/links.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Links ===== -.. contents:: Table of contents - ---- Wiki ---- Modified: pyplusplus_dev/docs/osdc2006/presentation-talk.rest =================================================================== --- pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/osdc2006/presentation-talk.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,9 +2,6 @@ C++ Python bindings =================== -.. contents:: Table of contents - - ------------------ C++ Python binding ------------------ Modified: pyplusplus_dev/docs/quotes.rest =================================================================== --- pyplusplus_dev/docs/quotes.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/quotes.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ What they say about Py++? ========================= -.. contents:: Table of contents - ----------------- What do they say? ----------------- Modified: pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/easy_extending_guide/easy_extending_guide.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ Easy extending guide ==================== -.. contents:: Table of contents - ------------ Introduction ------------ Modified: pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/lessons_learned.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -13,13 +13,9 @@ .. toctree:: - easy_extending_guide <easy_extending_guide/easy_extending_guide.rest> + easy_extending_guide/easy_extending_guide.rest + smart_ptrs/smart_ptrs.rest + shared_ptr/shared_ptr.rest + automatic_conversion/automatic_conversion.rest + exceptions/exceptions.rest - custom smart pointer class <smart_ptrs/smart_ptrs.rest> - - `boost::shared_ptr< const T>` <shared_ptr/shared_ptr.rest> - - automatic conversion <automatic_conversion/automatic_conversion.rest> - - exceptions <exceptions/exceptions.rest> - Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/pointer_holder.hpp.patch.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -1,3 +1,7 @@ +========================== +Boost.Python library patch +========================== + Download: `pointer_holder.hpp.patch`_ .. _`pointer_holder.hpp.patch` : pointer_holder.hpp.patch Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/sconstruct.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/sconstruct.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/sconstruct.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -1,2 +1,6 @@ +==================== +Build script (SCons) +==================== + .. literalinclude:: ./sconstruct :language: python Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/shared_ptr.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ How to register ``shared_ptr<const T>`` conversion? =================================================== -.. contents:: Table of contents - ------------ Introduction ------------ @@ -14,34 +12,34 @@ Solutions --------- -There are two possible solutions to the problem. The first one is to fix -Boost.Python library: `pointer_holder.hpp.patch`_ . The patch was contributed +There are two possible solutions to the problem. The first one is to fix +Boost.Python library: `pointer_holder.hpp.patch` . The patch was contributed to the library ( 8-December-2006 ) and some day it will be committed to the CVS. It is also possible to solve the problem, without changing Boost.Python library: .. code-block:: c++ - namespace boost{ - - template<class T> + namespace boost{ + + template<class T> inline T* get_pointer( boost::shared_ptr<const T> const& p ){ return const_cast< T* >( p.get() ); } - + } - - namespace boost{ namespace python{ - - template<class T> + + namespace boost{ namespace python{ + + template<class T> struct pointee< boost::shared_ptr<T const> >{ typedef T type; }; - + } } //boost::python - + namespace utils{ - + template< class T > register_shared_ptrs_to_python(){ namespace bpl = boost::python; @@ -49,9 +47,9 @@ bpl::register_ptr_to_python< boost::shared_ptr< const T > >(); bpl::implicitly_convertible< boost::shared_ptr< T >, boost::shared_ptr< const T > >(); } - + } - + BOOST_PYTHON_MODULE(...){ class_< YourClass >( "YourClass" ) ...; @@ -64,24 +62,13 @@ Files ----- -* `solution.cpp`_ file contains definition of a class and few functions, which - have ``shared_ptr< T >`` and ``shared_ptr< const T>`` as return type or as an - argument. The file also contains source code that exposes the defined - functionality to Python. +.. toctree:: -* `sconstruct`_ file contains build instructions for scons build tool. + `solution.cpp` - C++ source file <solution.cpp.rest> + Build script (SCons) <sconstruct.rest> + Usage example/tester <test.py.rest> + `pointer_holder.hpp.patch` Boost.Python library patch <pointer_holder.hpp.patch.rest> -* `test.py`_ file contains complete unit tests for the exposed classes - -* `pointer_holder.hpp.patch`_ file contains patch for the library - -All files contain comments, which describe what and why was done. - -.. _`solution.cpp` : ./solution.cpp.html -.. _`sconstruct` : ./sconstruct.html -.. _`test.py` : ./test.py.html -.. _`pointer_holder.hpp.patch` : ./pointer_holder.hpp.patch.html - -------- Download -------- @@ -90,8 +77,3 @@ .. _`shared_ptr.zip` : ./shared_ptr.zip - -.. _`Py++` : ./../pyplusplus.html -.. _`pygccxml` : http://www.language-binding.net/pygccxml/pygccxml.html -.. _`SourceForge`: http://sourceforge.net/index.php - Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/solution.cpp.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/solution.cpp.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/solution.cpp.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -1,2 +1,6 @@ +================================ +`solution.cpp` - C++ source file +================================ + .. literalinclude:: ./solution.cpp :language: c++ Modified: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/test.py.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/test.py.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/test.py.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -1,2 +1,6 @@ +==================== +Usage example/tester +==================== + .. literalinclude:: ./test.py :language: python Deleted: pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/www_configuration.py =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/www_configuration.py 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/shared_ptr/www_configuration.py 2009-02-01 18:29:31 UTC (rev 1646) @@ -1,3 +0,0 @@ -name = 'shared_ptr< const T>' -files_to_skip = ['definition.rest'] -names = {} Modified: pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest =================================================================== --- pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2009-02-01 06:22:29 UTC (rev 1645) +++ pyplusplus_dev/docs/troubleshooting_guide/smart_ptrs/smart_ptrs.rest 2009-02-01 18:29:31 UTC (rev 1646) @@ -2,8 +2,6 @@ How to expose custom smart pointer? =================================== -.. contents:: Table of contents - ------------ Introduction ------------ @@ -15,7 +13,7 @@ * `smart_ptr.h`_ file contains definition of custom smart pointer class. -* `classes.hpp`_ file contains definition of few classes, which should be exposed +* `classes.hpp`_ file contains definition of few classes, which should be exposed to Python. * `bindings.cpp`_ file contains source code that exposes the classes to Python. @@ -24,7 +22,7 @@ * `test.py`_ file contains complete unit tests for the exposed classes -All files contain comments, which describe what and why was done. +All files contain comments, which describe what and why was done. .. _`smart_ptr.h` : ./smart_ptr.h.html .. _`classes.hpp` : ./classes.hpp.html Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-01 06:22:29 UTC (rev 1645) +++ sphinx/conf.py 2009-02-01 18:29:31 UTC (rev 1646) @@ -39,7 +39,7 @@ if has_true_links: os.symlink( source, target ) else: - shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'www_configuration.py' ) ) + shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'osdc2006', 'www_configuration.py' ) ) if has_true_links: if os.path.exists(os.path.join( doc_project_root, 'index.rest' )): os.unlink( os.path.join( doc_project_root, 'index.rest' ) ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-02 13:53:22
|
Revision: 1649 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1649&view=rev Author: roman_yakovenko Date: 2009-02-02 13:53:17 +0000 (Mon, 02 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/docs/apidocs/declarations.rest pygccxml_dev/docs/pygccxml.rest pygccxml_dev/pygccxml/declarations/scopedef.py pygccxml_dev/pygccxml/parser/declarations_cache.py pygccxml_dev/unittests/data/core_cache.hpp pyplusplus_dev/examples/pyeasybmp_dev/ctypes/easybmp.py Modified: pygccxml_dev/docs/apidocs/declarations.rest =================================================================== --- pygccxml_dev/docs/apidocs/declarations.rest 2009-02-02 09:17:41 UTC (rev 1648) +++ pygccxml_dev/docs/apidocs/declarations.rest 2009-02-02 13:53:17 UTC (rev 1649) @@ -161,7 +161,7 @@ :show-inheritance: The :mod:`typedef <pygccxml.declarations.typedef>` module ------------------------------------------------ +--------------------------------------------------------- .. automodule:: pygccxml.declarations.typedef :members: Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2009-02-02 09:17:41 UTC (rev 1648) +++ pygccxml_dev/docs/pygccxml.rest 2009-02-02 13:53:17 UTC (rev 1649) @@ -112,9 +112,10 @@ `pygccxml`_ comes with comprehensive unit tests. They are executed on Windows XP and `Ubuntu`_ Linux operating systems. In most cases Python 2.5 and 2.6 are used. -I still maintain backward compatibility to Python 2.4. All in all, `pygccxml` has -more than 230 tests. +All in all, `pygccxml` has more than 230 tests. +Support for Python 2.4 was dropped. + ------------------------------- pygccxml documentation contents ------------------------------- Modified: pygccxml_dev/pygccxml/declarations/scopedef.py =================================================================== --- pygccxml_dev/pygccxml/declarations/scopedef.py 2009-02-02 09:17:41 UTC (rev 1648) +++ pygccxml_dev/pygccxml/declarations/scopedef.py 2009-02-02 13:53:17 UTC (rev 1649) @@ -3,9 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -""" -defines base class for L{namespace_t} and L{class_t} classes -""" +"""defines :class:`scopedef_t` class""" import time import algorithm @@ -16,7 +14,8 @@ import matcher as matcher_module class scopedef_t( declaration.declaration_t ): - """Base class for L{namespace_t} and L{class_t} classes. + """ + Base class for :class:`namespace_t` and :class:`class_t` classes. This is the base class for all declaration classes that may have children nodes. The children can be accessed via the C{declarations} @@ -26,36 +25,45 @@ can get instance or instances of internal declaration(s). You can find declaration(s) using next criteria: - 1. name - declaration name, could be full qualified name - 2. header_dir - directory, to which belongs file, that the declaration was declarated in. - header_dir should be absolute path. - 3. header_file - file that the declaration was declarated in. - 4. function - user ( your ) custom criteria. The interesting thing is that + + 1. `name` - declaration name, could be full qualified name + + 2. `header_dir` - directory, to which belongs file, that the declaration was declarated in. + `header_dir` should be absolute path. + + 3. `header_file` - file that the declaration was declarated in. + + 4. `function` - user ( your ) custom criteria. The interesting thing is that this function will be joined with other arguments ( criteria ). - 5. recursive - the search declaration range, if True will be search in - internal declarations too. + 5. `recursive` - the search declaration range, if True will be search in + internal declarations too. + + Every "select" API you can invoke and pass as first argument at declaration name or function. This class will find out correctly what argument represents. - Example:: + Example: :: ns - referrers to global namespace ns.member_function( "do_something ) - will return reference to member function named "do_something". If there is no such function exception will be raised. If there is more then one function exception will be raised too. - Example 2:: + Example 2: :: ns - referers to global namespace do_smths = ns.member_functions( "do_something ) - will return instance of L{mdecl_wrapper_t} object. This object allows you few things: 1. To iterate on selected declarations + 2. To set some property to desired value using one line of code only: do_smths.call_policies = x + 3. To call some function on every instance using one line of code: do_smths.exclude() + Pay attention: you can not use "get" functions or properties. """ Modified: pygccxml_dev/pygccxml/parser/declarations_cache.py =================================================================== --- pygccxml_dev/pygccxml/parser/declarations_cache.py 2009-02-02 09:17:41 UTC (rev 1648) +++ pygccxml_dev/pygccxml/parser/declarations_cache.py 2009-02-02 13:53:17 UTC (rev 1649) @@ -5,9 +5,9 @@ # http://www.boost.org/LICENSE_1_0.txt) import os -import md5 import time -import cPickle +import hashlib +import cPickle from pygccxml import utils import config as cxx_parsers_cfg @@ -19,10 +19,10 @@ # Extend here to use md5 hash for signature # - This change allows duplicate autogenerated files to be recognized #return os.path.getmtime( source ) - sig = md5.new() + sig = hashlib.md5() f = file(filename,'r') sig.update(f.read()) - f.close() + f.close() return sig.hexdigest() def configuration_signature( config ): @@ -32,7 +32,7 @@ a configuration that could cause the declarations generated to be different between runs. """ - sig = md5.new() + sig = hashlib.md5() if isinstance( config, cxx_parsers_cfg.gccxml_configuration_t ): sig.update(str(config.gccxml_path)) sig.update(str(config.working_directory)) @@ -43,19 +43,19 @@ for s in config.define_symbols: sig.update(str(s)) for u in config.undefine_symbols: - sig.update(str(u)) + sig.update(str(u)) return sig.hexdigest() class cache_base_t( object ): logger = utils.loggers.declarations_cache - + def __init__( self ): object.__init__(self) - + def flush(self): """ Flush (write out) the cache to disk if needed. """ raise NotImplementedError() - + def update(self, source_file, configuration, declarations, included_files): """ Update cache entry. @param source_file: path to the C++ source file being parsed @@ -63,14 +63,14 @@ @param declarations: declaration tree found when parsing @param included_files: files included by parsing. """ - raise NotImplementedError() - + raise NotImplementedError() + def cached_value(self, source_file, configuration): """ Return declarations we have cached for the source_file and configuration given. @param source_file: path to the C++ source file being parsed. @param configuration: configuration to use for parsing (config_t) - """ + """ raise NotImplementedError() class record_t( object ): @@ -86,60 +86,60 @@ self.__included_files_signature = included_files_signature self.__declarations = declarations self.__was_hit = True # Track if there was a cache hit - + def _get_was_hit(self): return self.__was_hit def _set_was_hit(self, was_hit): self.__was_hit = was_hit was_hit = property( _get_was_hit, _set_was_hit ) - + def key(self): return ( self.__source_signature, self.__config_signature) - + @staticmethod def create_key( source_file, configuration ): return ( file_signature(source_file) - , configuration_signature(configuration)) - + , configuration_signature(configuration)) + def __source_signature(self): return self.__source_signature source_signature = property( __source_signature ) - + def __config_signature(self): return self.__config_signature config_signature = property( __config_signature ) - + def __included_files(self): return self.__included_files included_files = property( __included_files ) - + def __included_files_signature(self): return self.__included_files_signature included_files_signature = property( __included_files_signature ) - + def __declarations(self): return self.__declarations - declarations = property( __declarations ) + declarations = property( __declarations ) -class file_cache_t( cache_base_t ): - """ Cache implementation to store data in a pickled form in a file. +class file_cache_t( cache_base_t ): + """ Cache implementation to store data in a pickled form in a file. This class contains some cache logic that keeps track of which entries have been 'hit' in the cache and if an entry has not been hit then it is deleted at the time of the flush(). This keeps the cache from - growing larger when files change and are not used again. + growing larger when files change and are not used again. """ def __init__( self, name ): """ @param name: name of the cache file. """ - cache_base_t.__init__( self ) + cache_base_t.__init__( self ) self.__name = name # Name of cache file self.__cache = self.__load( self.__name ) # Map record_key to record_t - self.__needs_flushed = not bool( self.__cache ) # If empty then we need to flush + self.__needs_flushed = not bool( self.__cache ) # If empty then we need to flush for entry in self.__cache.itervalues(): # Clear hit flags entry.was_hit = False - + @staticmethod def __load( file_name ): " Load pickled cache from file and return the object. " @@ -153,7 +153,7 @@ try: file_cache_t.logger.info( 'Loading cache file "%s".' % file_name ) start_time = time.clock() - cache = cPickle.load( cache_file_obj ) + cache = cPickle.load( cache_file_obj ) file_cache_t.logger.debug( "Cache file has been loaded in %.1f secs"%( time.clock() - start_time ) ) file_cache_t.logger.debug( "Found cache in file: [%s] entries: %s" % ( file_name, len( cache.keys() ) ) ) @@ -162,15 +162,15 @@ cache_file_obj.close() file_cache_t.logger.info( "Invalid cache file: [%s] Regenerating." % file_name ) file(file_name, 'w+b').close() # Create empty file - cache = {} # Empty cache + cache = {} # Empty cache return cache - + def flush(self): # If not marked as needing flushed, then return immediately if not self.__needs_flushed: self.logger.debug("Cache did not change, ignoring flush.") return - + # Remove entries that did not get a cache hit num_removed = 0 for key in self.__cache.keys(): @@ -190,14 +190,14 @@ , config_signature=configuration_signature(configuration) , included_files=included_files , included_files_signature=map( file_signature, included_files) - , declarations=declarations + , declarations=declarations ) # Switched over to holding full record in cache so we don't have # to keep creating records in the next method. self.__cache[ record.key() ] = record self.__cache[ record.key() ].was_hit = True self.__needs_flushed = True - + def cached_value(self, source_file, configuration): """ Attempt to lookup the cached decls for the given file and configuration. If not found or signature check fails, returns None. @@ -209,10 +209,10 @@ if self.__is_valid_signature( record ): record.was_hit = True # Record cache hit return record.declarations - else: #some file has been changed + else: #some file has been changed del self.__cache[key] return None - + def __is_valid_signature( self, record ): # This is now part of key #if self.__signature( record.source_file ) != record.source_file_signature: @@ -221,17 +221,17 @@ if file_signature( included_file ) != record.included_files_signature[index]: return False return True - + class dummy_cache_t( cache_base_t ): def __init__( self ): cache_base_t.__init__(self) - + def flush(self): pass - + def update(self, source_file, configuration, declarations, included_files): pass - + def cached_value(self, source_file, configuration): - return None \ No newline at end of file + return None Modified: pygccxml_dev/unittests/data/core_cache.hpp =================================================================== --- pygccxml_dev/unittests/data/core_cache.hpp 2009-02-02 09:17:41 UTC (rev 1648) +++ pygccxml_dev/unittests/data/core_cache.hpp 2009-02-02 13:53:17 UTC (rev 1649) @@ -22,4 +22,4 @@ #endif//__core_cache_hpp__ -//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file +//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file Modified: pyplusplus_dev/examples/pyeasybmp_dev/ctypes/easybmp.py =================================================================== --- pyplusplus_dev/examples/pyeasybmp_dev/ctypes/easybmp.py 2009-02-02 09:17:41 UTC (rev 1648) +++ pyplusplus_dev/examples/pyeasybmp_dev/ctypes/easybmp.py 2009-02-02 13:53:17 UTC (rev 1649) @@ -1,111 +1,108 @@ -# This file has been generated by Py++. - import sys - import ctypes - +import cpptypes import ctypes_utils -easybmplib = ctypes.CPPDLL( r"E:\development\language-binding\pyplusplus_dev\examples\pyeasybmp_dev\easybmp\binaries\easybmp.dll" ) +easybmplib = cpptypes.AnyDLL( r"easybmp.dll" ) easybmplib.undecorated_names = {#mapping between decorated and undecorated names - "unsigned short FlipWORD(unsigned short)" : "?FlipWORD@@YAGG@Z", - "BMP::BMP(void)" : "??0BMP@@QAE@XZ", - "bool BMP::SetPixel(int,int RGBApixel)" : "?SetPixel@BMP@@QAE_NHHURGBApixel@@@Z", - "bool BMP::Read32bitRow(unsigned char *,int,int)" : "?Read32bitRow@BMP@@AAE_NPAEHH@Z", - "bool BMP::ReadFromFile(char const *)" : "?ReadFromFile@BMP@@QAE_NPBD@Z", - "void BMIH::display(void)" : "?display@BMIH@@QAEXXZ", - "double Square(double)" : "?Square@@YANN@Z", - "unsigned char BMP::FindClosestColor RGBApixel &)" : "?FindClosestColor@BMP@@AAEEAAURGBApixel@@@Z", - "bool BMP::Read24bitRow(unsigned char *,int,int)" : "?Read24bitRow@BMP@@AAE_NPAEHH@Z", - "int BMP::TellBitDepth(void)" : "?TellBitDepth@BMP@@QAEHXZ", - "bool BMP::Write24bitRow(unsigned char *,int,int)" : "?Write24bitRow@BMP@@AAE_NPAEHH@Z", - "BMIH::BMIH(void)" : "??0BMIH@@QAE@XZ", - "int BMP::TellWidth(void)" : "?TellWidth@BMP@@QAEHXZ", - "bool BMP::Write1bitRow(unsigned char *,int,int)" : "?Write1bitRow@BMP@@AAE_NPAEHH@Z", - "RGBApixel & RGBApixel::operator= RGBApixel const &)" : "??4RGBApixel@@QAEAAU0@ABU0@@Z", - "int BMP::TellVerticalDPI(void)" : "?TellVerticalDPI@BMP@@QAEHXZ", - "bool BMP::WriteToFile(char const *)" : "?WriteToFile@BMP@@QAE_NPBD@Z", - "bool BMP::Read4bitRow(unsigned char *,int,int)" : "?Read4bitRow@BMP@@AAE_NPAEHH@Z", - "void BMP::SetDPI(int,int)" : "?SetDPI@BMP@@QAEXHH@Z", - "int IntSquare(int)" : "?IntSquare@@YAHH@Z", - "bool BMP::Write32bitRow(unsigned char *,int,int)" : "?Write32bitRow@BMP@@AAE_NPAEHH@Z", - "BMFH & BMFH::operator= BMFH const &)" : "??4BMFH@@QAEAAV0@ABV0@@Z", - "bool BMP::Read1bitRow(unsigned char *,int,int)" : "?Read1bitRow@BMP@@AAE_NPAEHH@Z", - "BMFH::BMFH(void)" : "??0BMFH@@QAE@XZ", - "BMP::BMP BMP &)" : "??0BMP@@QAE@AAV0@@Z", - "bool BMP::Write4bitRow(unsigned char *,int,int)" : "?Write4bitRow@BMP@@AAE_NPAEHH@Z", - "unsigned int FlipDWORD(unsigned int)" : "?FlipDWORD@@YAII@Z", - "int BMP::TellHeight(void)" : "?TellHeight@BMP@@QAEHXZ", - "bool IsBigEndian(void)" : "?IsBigEndian@@YA_NXZ", - "RGBApixel BMP::GetPixel(int,int)const" : "?GetPixel@BMP@@QBE?AURGBApixel@@HH@Z", - "bool BMP::SetBitDepth(int)" : "?SetBitDepth@BMP@@QAE_NH@Z", - "void BMIH::SwitchEndianess(void)" : "?SwitchEndianess@BMIH@@QAEXXZ", - "int BMP::TellNumberOfColors(void)" : "?TellNumberOfColors@BMP@@QAEHXZ", - "BMP & BMP::operator= BMP const &)" : "??4BMP@@QAEAAV0@ABV0@@Z", - "bool BMP::SetColor(int RGBApixel)" : "?SetColor@BMP@@QAE_NHURGBApixel@@@Z", - "void BMFH::SwitchEndianess(void)" : "?SwitchEndianess@BMFH@@QAEXXZ", - "void BMFH::display(void)" : "?display@BMFH@@QAEXXZ", - "bool BMP::SetSize(int,int)" : "?SetSize@BMP@@QAE_NHH@Z", - "bool BMP::Read8bitRow(unsigned char *,int,int)" : "?Read8bitRow@BMP@@AAE_NPAEHH@Z", - "BMIH & BMIH::operator= BMIH const &)" : "??4BMIH@@QAEAAV0@ABV0@@Z", - "bool BMP::Write8bitRow(unsigned char *,int,int)" : "?Write8bitRow@BMP@@AAE_NPAEHH@Z", - "BMP::~BMP(void)" : "??1BMP@@QAE@XZ", - "RGBApixel * BMP::operator()(int,int)" : "??RBMP@@QAEPAURGBApixel@@HH@Z", - "RGBApixel BMP::GetColor(int)" : "?GetColor@BMP@@QAE?AURGBApixel@@H@Z", - "int BMP::TellHorizontalDPI(void)" : "?TellHorizontalDPI@BMP@@QAEHXZ", - "bool BMP::CreateStandardColorTable(void)" : "?CreateStandardColorTable@BMP@@QAE_NXZ", - "?FlipWORD@@YAGG@Z" : "unsigned short FlipWORD(unsigned short)", - "??0BMP@@QAE@XZ" : "BMP::BMP(void)", - "?SetPixel@BMP@@QAE_NHHURGBApixel@@@Z" : "bool BMP::SetPixel(int,int RGBApixel)", - "?Read32bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read32bitRow(unsigned char *,int,int)", - "?ReadFromFile@BMP@@QAE_NPBD@Z" : "bool BMP::ReadFromFile(char const *)", - "?display@BMIH@@QAEXXZ" : "void BMIH::display(void)", - "?Square@@YANN@Z" : "double Square(double)", - "?FindClosestColor@BMP@@AAEEAAURGBApixel@@@Z" : "unsigned char BMP::FindClosestColor RGBApixel &)", - "?Read24bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read24bitRow(unsigned char *,int,int)", - "?TellBitDepth@BMP@@QAEHXZ" : "int BMP::TellBitDepth(void)", - "?Write24bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write24bitRow(unsigned char *,int,int)", - "??0BMIH@@QAE@XZ" : "BMIH::BMIH(void)", - "?TellWidth@BMP@@QAEHXZ" : "int BMP::TellWidth(void)", - "?Write1bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write1bitRow(unsigned char *,int,int)", - "??4RGBApixel@@QAEAAU0@ABU0@@Z" : "RGBApixel & RGBApixel::operator= RGBApixel const &)", - "?TellVerticalDPI@BMP@@QAEHXZ" : "int BMP::TellVerticalDPI(void)", - "?WriteToFile@BMP@@QAE_NPBD@Z" : "bool BMP::WriteToFile(char const *)", - "?Read4bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read4bitRow(unsigned char *,int,int)", - "?SetDPI@BMP@@QAEXHH@Z" : "void BMP::SetDPI(int,int)", - "?IntSquare@@YAHH@Z" : "int IntSquare(int)", - "?Write32bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write32bitRow(unsigned char *,int,int)", - "??4BMFH@@QAEAAV0@ABV0@@Z" : "BMFH & BMFH::operator= BMFH const &)", - "?Read1bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read1bitRow(unsigned char *,int,int)", - "??0BMFH@@QAE@XZ" : "BMFH::BMFH(void)", - "??0BMP@@QAE@AAV0@@Z" : "BMP::BMP BMP &)", - "?Write4bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write4bitRow(unsigned char *,int,int)", - "?FlipDWORD@@YAII@Z" : "unsigned int FlipDWORD(unsigned int)", - "?TellHeight@BMP@@QAEHXZ" : "int BMP::TellHeight(void)", - "?IsBigEndian@@YA_NXZ" : "bool IsBigEndian(void)", - "?GetPixel@BMP@@QBE?AURGBApixel@@HH@Z" : "RGBApixel BMP::GetPixel(int,int)const", - "?SetBitDepth@BMP@@QAE_NH@Z" : "bool BMP::SetBitDepth(int)", - "?SwitchEndianess@BMIH@@QAEXXZ" : "void BMIH::SwitchEndianess(void)", - "?TellNumberOfColors@BMP@@QAEHXZ" : "int BMP::TellNumberOfColors(void)", - "??4BMP@@QAEAAV0@ABV0@@Z" : "BMP & BMP::operator= BMP const &)", - "?SetColor@BMP@@QAE_NHURGBApixel@@@Z" : "bool BMP::SetColor(int RGBApixel)", - "?SwitchEndianess@BMFH@@QAEXXZ" : "void BMFH::SwitchEndianess(void)", - "?display@BMFH@@QAEXXZ" : "void BMFH::display(void)", - "?SetSize@BMP@@QAE_NHH@Z" : "bool BMP::SetSize(int,int)", - "?Read8bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read8bitRow(unsigned char *,int,int)", - "??4BMIH@@QAEAAV0@ABV0@@Z" : "BMIH & BMIH::operator= BMIH const &)", - "?Write8bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write8bitRow(unsigned char *,int,int)", - "??1BMP@@QAE@XZ" : "BMP::~BMP(void)", - "??RBMP@@QAEPAURGBApixel@@HH@Z" : "RGBApixel * BMP::operator()(int,int)", - "?GetColor@BMP@@QAE?AURGBApixel@@H@Z" : "RGBApixel BMP::GetColor(int)", - "?TellHorizontalDPI@BMP@@QAEHXZ" : "int BMP::TellHorizontalDPI(void)", - "?CreateStandardColorTable@BMP@@QAE_NXZ" : "bool BMP::CreateStandardColorTable(void)", + "unsigned short FlipWORD(unsigned short)" : "?FlipWORD@@YAGG@Z", + "BMP::BMP(void)" : "??0BMP@@QAE@XZ", + "bool BMP::SetPixel(int,int RGBApixel)" : "?SetPixel@BMP@@QAE_NHHURGBApixel@@@Z", + "bool BMP::Read32bitRow(unsigned char *,int,int)" : "?Read32bitRow@BMP@@AAE_NPAEHH@Z", + "bool BMP::ReadFromFile(char const *)" : "?ReadFromFile@BMP@@QAE_NPBD@Z", + "void BMIH::display(void)" : "?display@BMIH@@QAEXXZ", + "double Square(double)" : "?Square@@YANN@Z", + "unsigned char BMP::FindClosestColor RGBApixel &)" : "?FindClosestColor@BMP@@AAEEAAURGBApixel@@@Z", + "bool BMP::Read24bitRow(unsigned char *,int,int)" : "?Read24bitRow@BMP@@AAE_NPAEHH@Z", + "int BMP::TellBitDepth(void)" : "?TellBitDepth@BMP@@QAEHXZ", + "bool BMP::Write24bitRow(unsigned char *,int,int)" : "?Write24bitRow@BMP@@AAE_NPAEHH@Z", + "BMIH::BMIH(void)" : "??0BMIH@@QAE@XZ", + "int BMP::TellWidth(void)" : "?TellWidth@BMP@@QAEHXZ", + "bool BMP::Write1bitRow(unsigned char *,int,int)" : "?Write1bitRow@BMP@@AAE_NPAEHH@Z", + "RGBApixel & RGBApixel::operator= RGBApixel const &)" : "??4RGBApixel@@QAEAAU0@ABU0@@Z", + "int BMP::TellVerticalDPI(void)" : "?TellVerticalDPI@BMP@@QAEHXZ", + "bool BMP::WriteToFile(char const *)" : "?WriteToFile@BMP@@QAE_NPBD@Z", + "bool BMP::Read4bitRow(unsigned char *,int,int)" : "?Read4bitRow@BMP@@AAE_NPAEHH@Z", + "void BMP::SetDPI(int,int)" : "?SetDPI@BMP@@QAEXHH@Z", + "int IntSquare(int)" : "?IntSquare@@YAHH@Z", + "bool BMP::Write32bitRow(unsigned char *,int,int)" : "?Write32bitRow@BMP@@AAE_NPAEHH@Z", + "BMFH & BMFH::operator= BMFH const &)" : "??4BMFH@@QAEAAV0@ABV0@@Z", + "bool BMP::Read1bitRow(unsigned char *,int,int)" : "?Read1bitRow@BMP@@AAE_NPAEHH@Z", + "BMFH::BMFH(void)" : "??0BMFH@@QAE@XZ", + "BMP::BMP BMP &)" : "??0BMP@@QAE@AAV0@@Z", + "bool BMP::Write4bitRow(unsigned char *,int,int)" : "?Write4bitRow@BMP@@AAE_NPAEHH@Z", + "unsigned int FlipDWORD(unsigned int)" : "?FlipDWORD@@YAII@Z", + "int BMP::TellHeight(void)" : "?TellHeight@BMP@@QAEHXZ", + "bool IsBigEndian(void)" : "?IsBigEndian@@YA_NXZ", + "RGBApixel BMP::GetPixel(int,int)const" : "?GetPixel@BMP@@QBE?AURGBApixel@@HH@Z", + "bool BMP::SetBitDepth(int)" : "?SetBitDepth@BMP@@QAE_NH@Z", + "void BMIH::SwitchEndianess(void)" : "?SwitchEndianess@BMIH@@QAEXXZ", + "int BMP::TellNumberOfColors(void)" : "?TellNumberOfColors@BMP@@QAEHXZ", + "BMP & BMP::operator= BMP const &)" : "??4BMP@@QAEAAV0@ABV0@@Z", + "bool BMP::SetColor(int RGBApixel)" : "?SetColor@BMP@@QAE_NHURGBApixel@@@Z", + "void BMFH::SwitchEndianess(void)" : "?SwitchEndianess@BMFH@@QAEXXZ", + "void BMFH::display(void)" : "?display@BMFH@@QAEXXZ", + "bool BMP::SetSize(int,int)" : "?SetSize@BMP@@QAE_NHH@Z", + "bool BMP::Read8bitRow(unsigned char *,int,int)" : "?Read8bitRow@BMP@@AAE_NPAEHH@Z", + "BMIH & BMIH::operator= BMIH const &)" : "??4BMIH@@QAEAAV0@ABV0@@Z", + "bool BMP::Write8bitRow(unsigned char *,int,int)" : "?Write8bitRow@BMP@@AAE_NPAEHH@Z", + "BMP::~BMP(void)" : "??1BMP@@QAE@XZ", + "RGBApixel * BMP::operator()(int,int)" : "??RBMP@@QAEPAURGBApixel@@HH@Z", + "RGBApixel BMP::GetColor(int)" : "?GetColor@BMP@@QAE?AURGBApixel@@H@Z", + "int BMP::TellHorizontalDPI(void)" : "?TellHorizontalDPI@BMP@@QAEHXZ", + "bool BMP::CreateStandardColorTable(void)" : "?CreateStandardColorTable@BMP@@QAE_NXZ", + "?FlipWORD@@YAGG@Z" : "unsigned short FlipWORD(unsigned short)", + "??0BMP@@QAE@XZ" : "BMP::BMP(void)", + "?SetPixel@BMP@@QAE_NHHURGBApixel@@@Z" : "bool BMP::SetPixel(int,int RGBApixel)", + "?Read32bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read32bitRow(unsigned char *,int,int)", + "?ReadFromFile@BMP@@QAE_NPBD@Z" : "bool BMP::ReadFromFile(char const *)", + "?display@BMIH@@QAEXXZ" : "void BMIH::display(void)", + "?Square@@YANN@Z" : "double Square(double)", + "?FindClosestColor@BMP@@AAEEAAURGBApixel@@@Z" : "unsigned char BMP::FindClosestColor RGBApixel &)", + "?Read24bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read24bitRow(unsigned char *,int,int)", + "?TellBitDepth@BMP@@QAEHXZ" : "int BMP::TellBitDepth(void)", + "?Write24bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write24bitRow(unsigned char *,int,int)", + "??0BMIH@@QAE@XZ" : "BMIH::BMIH(void)", + "?TellWidth@BMP@@QAEHXZ" : "int BMP::TellWidth(void)", + "?Write1bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write1bitRow(unsigned char *,int,int)", + "??4RGBApixel@@QAEAAU0@ABU0@@Z" : "RGBApixel & RGBApixel::operator= RGBApixel const &)", + "?TellVerticalDPI@BMP@@QAEHXZ" : "int BMP::TellVerticalDPI(void)", + "?WriteToFile@BMP@@QAE_NPBD@Z" : "bool BMP::WriteToFile(char const *)", + "?Read4bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read4bitRow(unsigned char *,int,int)", + "?SetDPI@BMP@@QAEXHH@Z" : "void BMP::SetDPI(int,int)", + "?IntSquare@@YAHH@Z" : "int IntSquare(int)", + "?Write32bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write32bitRow(unsigned char *,int,int)", + "??4BMFH@@QAEAAV0@ABV0@@Z" : "BMFH & BMFH::operator= BMFH const &)", + "?Read1bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read1bitRow(unsigned char *,int,int)", + "??0BMFH@@QAE@XZ" : "BMFH::BMFH(void)", + "??0BMP@@QAE@AAV0@@Z" : "BMP::BMP BMP &)", + "?Write4bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write4bitRow(unsigned char *,int,int)", + "?FlipDWORD@@YAII@Z" : "unsigned int FlipDWORD(unsigned int)", + "?TellHeight@BMP@@QAEHXZ" : "int BMP::TellHeight(void)", + "?IsBigEndian@@YA_NXZ" : "bool IsBigEndian(void)", + "?GetPixel@BMP@@QBE?AURGBApixel@@HH@Z" : "RGBApixel BMP::GetPixel(int,int)const", + "?SetBitDepth@BMP@@QAE_NH@Z" : "bool BMP::SetBitDepth(int)", + "?SwitchEndianess@BMIH@@QAEXXZ" : "void BMIH::SwitchEndianess(void)", + "?TellNumberOfColors@BMP@@QAEHXZ" : "int BMP::TellNumberOfColors(void)", + "??4BMP@@QAEAAV0@ABV0@@Z" : "BMP & BMP::operator= BMP const &)", + "?SetColor@BMP@@QAE_NHURGBApixel@@@Z" : "bool BMP::SetColor(int RGBApixel)", + "?SwitchEndianess@BMFH@@QAEXXZ" : "void BMFH::SwitchEndianess(void)", + "?display@BMFH@@QAEXXZ" : "void BMFH::display(void)", + "?SetSize@BMP@@QAE_NHH@Z" : "bool BMP::SetSize(int,int)", + "?Read8bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Read8bitRow(unsigned char *,int,int)", + "??4BMIH@@QAEAAV0@ABV0@@Z" : "BMIH & BMIH::operator= BMIH const &)", + "?Write8bitRow@BMP@@AAE_NPAEHH@Z" : "bool BMP::Write8bitRow(unsigned char *,int,int)", + "??1BMP@@QAE@XZ" : "BMP::~BMP(void)", + "??RBMP@@QAEPAURGBApixel@@HH@Z" : "RGBApixel * BMP::operator()(int,int)", + "?GetColor@BMP@@QAE?AURGBApixel@@H@Z" : "RGBApixel BMP::GetColor(int)", + "?TellHorizontalDPI@BMP@@QAEHXZ" : "int BMP::TellHorizontalDPI(void)", + "?CreateStandardColorTable@BMP@@QAE_NXZ" : "bool BMP::CreateStandardColorTable(void)", } class BMFH(ctypes.Structure): """class BMFH""" - + def __init__( self, *args ): """BMFH::BMFH(void)""" return self._methods_['__init__']( ctypes.pointer( self ), *args ) @@ -120,7 +117,7 @@ class BMIH(ctypes.Structure): """class BMIH""" - + def __init__( self, *args ): """BMIH::BMIH(void)""" return self._methods_['__init__']( ctypes.pointer( self ), *args ) @@ -135,7 +132,7 @@ class BMP(ctypes.Structure): """class BMP""" - + def TellBitDepth( self, *args ): """int BMP::TellBitDepth(void)""" return self._methods_['TellBitDepth']( ctypes.pointer( self ), *args ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-03 20:42:23
|
Revision: 1657 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1657&view=rev Author: roman_yakovenko Date: 2009-02-03 20:42:16 +0000 (Tue, 03 Feb 2009) Log Message: ----------- enable pydsc Modified Paths: -------------- pydsc_dev/pydsc.py pygccxml_dev/unittests/autoconfig.py Modified: pydsc_dev/pydsc.py =================================================================== --- pydsc_dev/pydsc.py 2009-02-03 20:06:54 UTC (rev 1656) +++ pydsc_dev/pydsc.py 2009-02-03 20:42:16 UTC (rev 1657) @@ -23,6 +23,7 @@ import os import sys +import pdb import pprint import inspect import __builtin__ @@ -40,7 +41,7 @@ class FILTER_TYPE: """ defines few filter constants - + - *INCLUDE* - *EXCLUDE* """ @@ -150,7 +151,7 @@ return False #do not check already imported modules if self.filter: try: - source_file = inspect.getsourcefile(obj) + source_file = self.getsourcefile(obj) if source_file is None: source_file = inspect.getfile( obj ) return self.filter.check( source_file ) @@ -170,14 +171,21 @@ return True return False - def import_( self, name, globals=None, locals=None, fromlist=None ): + def import_( self, name, globals=None, locals=None, fromlist=None, level=-1 ): """Hook to import functionality""" - pymodule = self.__orig_import( name, globals, locals, fromlist ) + pymodule = self.__orig_import( name, globals, locals, fromlist, level ) if self.should_be_checked(pymodule): self.__already_imported.add( name ) self.__check( pymodule ) return pymodule + @staticmethod + def getsourcefile( obj ): + try: + return inspect.getsourcefile( obj ) + except TypeError: + pass + def __check_text_impl( self, obj, text, text_type ): if not text: return @@ -194,9 +202,9 @@ if not errors: return write = self.writer.write - if inspect.getsourcefile( inspect.getmodule( obj ) ): + if self.getsourcefile( inspect.getmodule( obj ) ): write( ' error details: %s' % os.linesep ) - write( ' file : %s%s' % ( inspect.getsourcefile( inspect.getmodule( obj ) ), os.linesep ) ) + write( ' file : %s%s' % ( self.getsourcefile( inspect.getmodule( obj ) ), os.linesep ) ) write( ' line : %d%s' % ( inspect.getsourcelines( obj )[1], os.linesep ) ) write( ' text type : %s%s' % ( text_type, os.linesep ) ) else: @@ -208,8 +216,11 @@ def __check_text( self, obj): self.__check_text_impl( obj, inspect.getdoc( obj ), 'documentation string' ) - if inspect.getsourcefile( obj ): - self.__check_text_impl( obj, inspect.getcomments( obj ), 'comment' ) + try: + if self.getsourcefile( obj ): + self.__check_text_impl( obj, inspect.getcomments( obj ), 'comment' ) + except TypeError: + pass def __check( self, module ): self.__check_text( module ) @@ -227,6 +238,8 @@ if 'PYDSC' in os.environ: if not 'sphinx' in os.environ['PYDSC']: doc_checker = checker_t( checker.SpellChecker( "en_US" ) ) +else: + doc_checker = checker_t( checker.SpellChecker( "en_US" ) ) def exclude( what ): """ Modified: pygccxml_dev/unittests/autoconfig.py =================================================================== --- pygccxml_dev/unittests/autoconfig.py 2009-02-03 20:06:54 UTC (rev 1656) +++ pygccxml_dev/unittests/autoconfig.py 2009-02-03 20:42:16 UTC (rev 1657) @@ -7,12 +7,17 @@ import sys import getpass + + #~ os.environ['PYCHECKER'] = '--limit=1000 -q --no-argsused' #~ import pychecker.checker this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) ) +sys.path.append( os.path.abspath( os.path.join( this_module_dir_path, '..', '..', 'pydsc_dev' ) ) ) +#~ import pydsc + data_directory = os.path.join( this_module_dir_path, 'data' ) build_directory = os.path.join( this_module_dir_path, 'temp' ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-05 14:12:10
|
Revision: 1659 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1659&view=rev Author: roman_yakovenko Date: 2009-02-05 14:12:02 +0000 (Thu, 05 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pydsc_dev/pydsc.py pydsc_dev/unittests/to_be_tested.py pygccxml_dev/pygccxml/declarations/call_invocation.py pygccxml_dev/pygccxml/declarations/container_traits.py pygccxml_dev/pygccxml/declarations/decl_printer.py pygccxml_dev/pygccxml/declarations/declaration.py pygccxml_dev/pygccxml/declarations/enumeration.py pygccxml_dev/pygccxml/declarations/function_traits.py pygccxml_dev/pygccxml/declarations/matchers.py pygccxml_dev/pygccxml/declarations/scopedef.py pygccxml_dev/pygccxml/declarations/type_traits.py pygccxml_dev/pygccxml/parser/__init__.py pygccxml_dev/pygccxml/parser/config.py pygccxml_dev/pygccxml/parser/declarations_cache.py pygccxml_dev/pygccxml/parser/directory_cache.py pygccxml_dev/pygccxml/parser/project_reader.py pygccxml_dev/pygccxml/parser/source_reader.py pygccxml_dev/unittests/data/core_cache.hpp pyplusplus_dev/contrib/pypp_api/pypp_api/argpolicy.py pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py pyplusplus_dev/contrib/pypp_api/pypp_api/filters.py pyplusplus_dev/contrib/pypp_api/pypp_api/modulebuilder.py pyplusplus_dev/contrib/pypp_api/pypp_api/treerange.py pyplusplus_dev/pyplusplus/__init__.py pyplusplus_dev/pyplusplus/_logging_/__init__.py pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py pyplusplus_dev/pyplusplus/code_creators/code_creator.py pyplusplus_dev/pyplusplus/code_creators/compound.py pyplusplus_dev/pyplusplus/code_creators/include.py pyplusplus_dev/pyplusplus/code_creators/module.py pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py pyplusplus_dev/pyplusplus/creators_factory/creators_wizard.py pyplusplus_dev/pyplusplus/creators_factory/ctypes_creator.py pyplusplus_dev/pyplusplus/creators_factory/dependencies_manager.py pyplusplus_dev/pyplusplus/creators_factory/sort_algorithms.py pyplusplus_dev/pyplusplus/decl_wrappers/algorithm.py pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/class_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/decl_wrapper_printer.py pyplusplus_dev/pyplusplus/decl_wrappers/enumeration_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/indexing_suite1.py pyplusplus_dev/pyplusplus/decl_wrappers/namespace_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/scopedef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/variable_wrapper.py pyplusplus_dev/pyplusplus/file_writers/__init__.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/file_writers/writer.py pyplusplus_dev/pyplusplus/function_transformers/controllers.py pyplusplus_dev/pyplusplus/messages/warnings_.py pyplusplus_dev/pyplusplus/module_builder/__init__.py pyplusplus_dev/pyplusplus/module_builder/boost_python_builder.py pyplusplus_dev/pyplusplus/module_builder/ctypes_builder.py pyplusplus_dev/pyplusplus/module_builder/module_builder.py pyplusplus_dev/unittests/autoconfig.py pyplusplus_dev/unittests/unicode_bug.py sphinx/conf.py Added Paths: ----------- pygccxml_dev/unittests/ignore_dictionary.txt pyplusplus_dev/unittests/ignore_dictionary.txt Modified: pydsc_dev/pydsc.py =================================================================== --- pydsc_dev/pydsc.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pydsc_dev/pydsc.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -25,9 +25,11 @@ import re import sys import pprint +import atexit import inspect import __builtin__ -from enchant import checker +import enchant +import enchant.checker def normalize_path( some_path ): """return os.path.normcase( os.path.normpath( some_path ) )""" @@ -48,6 +50,19 @@ #precondition: dirs and fpath should be normalize_path'ed before calling this function return bool( filter( lambda dir: path.startswith( dir ), dirs ) ) + +#~ class DynamicIdentifiersFilter( enchant.tokenize.Filter): + #~ _pattern = re.compile(r"^.+@[^\.].*\.[a-z]{2,}$") + #~ def __init__( self, *args, **keywd ): + #~ super( DynamicIdentifiersFilter, self ).__init__( self, *args, **keywd ) + #~ self.global_identifiers = set() + #~ self.local_identifiers = set() + + #~ def _skip(self,word): + #~ if self._pattern.match(word): + #~ return True + #~ return False + def is_identifier( word ): """ returns `True` is the word represents an identifier, constructed from two or more words, `False` otherwise. @@ -76,9 +91,9 @@ def __init__( self , speller - , writer=None + , writer=sys.stdout , ignore_identifiers=True - , text_preprocessor=None ): + , text_preprocessor=lambda t: t ): """ initialization method @@ -110,17 +125,15 @@ __builtin__.__import__ = self.import_ self.__already_imported = set( sys.modules.keys() ) self.__checked = set() + self.__reported_errors = set() self.speller = speller self.writer = writer - if self.writer is None: - self.writer = sys.stdout self.__include_paths = set() self.ignored_words = set() self.add_include_paths( '.') self.ignore_identifiers = ignore_identifiers self.text_preprocessor = text_preprocessor - if not self.text_preprocessor: - self.text_preprocessor = lambda t: t + atexit.register( self.report_statistics ) def add_include_paths( self, path ): np = lambda p: normalize_path( os.path.abspath( p ) ) @@ -190,8 +203,10 @@ def __check_text_impl( self, obj, text_, text_type ): text = self.text_preprocessor( text_ ) + if not text: return + if self.ignore_identifiers and hasattr( obj, '__name__' ) and obj.__name__: self.ignored_words.add( obj.__name__ ) @@ -204,25 +219,34 @@ continue if is_identifier( error.word ): continue - if not errors.has_key( error.word ): - errors[ error.word ] = [] + fpath = self.getsourcefile( inspect.getmodule( obj ) ) + if fpath: + error_id = "%s:%s:%d" % ( error.word, fpath, inspect.getsourcelines( obj )[1] ) + if error_id in self.__reported_errors: + continue + else: + self.__reported_errors.add( error_id ) errors[ error.word ] = self.speller.suggest() + if not errors: return + write = self.writer.write if self.getsourcefile( inspect.getmodule( obj ) ): write( ' error details: %s' % os.linesep ) - write( ' location : %s:%d%s' % ( self.getsourcefile( inspect.getmodule( obj ) ), 1 + inspect.getsourcelines( obj )[1], os.linesep ) ) - write( ' text type : %s%s' % ( text_type, os.linesep ) ) + write( ' location : %s:%d%s' % ( self.getsourcefile( inspect.getmodule( obj ) ), 1 + inspect.getsourcelines( obj )[1], os.linesep ) ) + write( ' text type : %s%s' % ( text_type, os.linesep ) ) else: write( ' error details: %s' % os.linesep ) - write( ' text type : %s%s' % ( text_type, os.linesep ) ) + write( ' text type : %s%s' % ( text_type, os.linesep ) ) for word, suggestions in errors.items(): - write( ' misspelled word: %s%s' % ( word, os.linesep ) ) - write( ' suggestions : %s%s' % ( `suggestions`, os.linesep ) ) - clean = lambda t: t.replace( '\n', ' ' ).replace( '\r', '' ) - write( ' source file text: %s\n' % clean( text_ ) ) - write( ' checked text : %s\n' % clean( text ) ) + write( ' misspelled word : %s%s' % ( word, os.linesep ) ) + write( ' suggestions : %s%s' % ( `suggestions`, os.linesep ) ) + if 1: #debug code + clean = lambda t: t.replace( '\n', ' ' ).replace( '\r', '' ) + write( ' source file text: %s\n' % clean( text_ ) ) + write( ' checked text : %s\n' % clean( text ) ) + write( ' object : %s\n' % str(obj) ) def __check_text( self, obj): self.__check_text_impl( obj, inspect.getdoc( obj ), 'documentation string' ) @@ -243,13 +267,31 @@ to_be_checked.extend( map( lambda x: x[1], inspect.getmembers( member ) ) ) self.__checked.add( id(member) ) + def report_statistics( self ): + words = {} + print '\n' + print 'pydsc report' + print ' errors found: ', len( self.__reported_errors ) + for error_id in self.__reported_errors: + word = error_id.split( ':' )[0] + if word not in words: + words[ word ] = [] + words[ word ].append( error_id[ len(word) + 1: ] ) + for word, occurs in words.iteritems(): + print ' ', word, ' - ', len( occurs ) + occurs.sort() + for location in occurs: + print ' ', location + print 'pydsc report - end' + + """documentation spell checker instance""" doc_checker = None -if 'PYDSC' in os.environ: - if not 'sphinx' in os.environ['PYDSC']: - doc_checker = checker_t( checker.SpellChecker( "en_US" )) #, filters=[checker.EmailFilter,checker.URLFilter] ) ) -else: - doc_checker = checker_t( checker.SpellChecker( "en_US" ))#, filters=[checker.EmailFilter,checker.URLFilter, checker.WikiWordFilter] ) ) +if not( ('PYDSC' in os.environ) and ('sphinx' in os.environ['PYDSC']) ): + doc_checker = checker_t( enchant.checker.SpellChecker( "en_US" + , filters=[ enchant.tokenize.EmailFilter + , enchant.tokenize.URLFilter + , enchant.tokenize.WikiWordFilter ] ) ) def include_paths( what ): @@ -295,20 +337,37 @@ def set_text_preprocessor( preprocessor ): doc_checker.text_preprocessor = preprocessor -__ref_def = re.compile( r':[_a-zA-Z]+(\s+[_a-zA-Z]+)?:' ) -__ref_no_title = re.compile( r'`(\:\:)?[_a-zA-Z]+[_a-zA-Z0-9\.\:]*`' ) -__ref_with_title = re.compile( r'`(?P<text>.+)?\s(\<.*\>)`' ) +class sphinx_preprocessor_t: + __ref_def = re.compile( r':[_a-zA-Z]+(\s+[_a-zA-Z0-9]+)?:' ) + __ref_no_title = re.compile( r'`(\:\:)?[_a-zA-Z]+[_a-zA-Z0-9\.\:\+]*`' ) + __ref_with_title = re.compile( r'`(?P<text>.+)?\s(\<.*\>)`' ) -def sphinx_preprocessor( text ): - def replace( m ): - if 'text' in m.groupdict(): - return ' ' * ( m.start( 'text' ) - m.start() ) + m.group( 'text' ) + ' ' * ( m.end() - m.end( 'text' ) ) - else: - return ' ' * ( m.end() - m.start() ) - if not text: - return text - result = text - result = __ref_no_title.sub( replace, result ) - result = __ref_def.sub( replace, result ) - result = __ref_with_title.sub( replace, result ) - return result + + def __replace_via_re( self, text ): + def replace( m ): + if 'text' in m.groupdict(): + return ' ' * ( m.start( 'text' ) - m.start() ) + m.group( 'text' ) + ' ' * ( m.end() - m.end( 'text' ) ) + else: + return ' ' * ( m.end() - m.start() ) + if not text: + return text + result = text + result = self.__ref_no_title.sub( replace, result ) + result = self.__ref_def.sub( replace, result ) + result = self.__ref_with_title.sub( replace, result ) + return result + + #~ def __remove_code_block( self, text ): + #~ lines = map( lambda line: line.rstrip(), text.split( '\n' ) ) + + #~ no_code_lines = [] + + #~ index = 0 + #~ within_block = False + #~ indent_level = 0 + #~ while index < len( lines ): + + def __call__( self, text ): + return self.__replace_via_re( text ) + +sphinx_preprocessor = sphinx_preprocessor_t() Modified: pydsc_dev/unittests/to_be_tested.py =================================================================== --- pydsc_dev/unittests/to_be_tested.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pydsc_dev/unittests/to_be_tested.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -10,7 +10,7 @@ """ code_creator_t is the base class for all code creators. This class defines interface that every code creator should implement. - Also it provides few convinience functions. + Also it provides few convenience functions. qeqerqwerqwerqwer Modified: pygccxml_dev/pygccxml/declarations/call_invocation.py =================================================================== --- pygccxml_dev/pygccxml/declarations/call_invocation.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/call_invocation.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -11,10 +11,10 @@ .. code-block:: c++ - do_smth( x1, x2, x3 ) + do_something( x1, x2, x3 ) the parser will extract -- function name - `do_stmh` +- function name - `do_something` - argument names - `[ x1, x2, x3 ]` """ Modified: pygccxml_dev/pygccxml/declarations/container_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/container_traits.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/container_traits.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -243,7 +243,7 @@ class container_traits_impl_t: - """this class implements the functionality needed for convinient work with + """this class implements the functionality needed for convenient work with STD container classes. Implemented functionality: Modified: pygccxml_dev/pygccxml/declarations/decl_printer.py =================================================================== --- pygccxml_dev/pygccxml/declarations/decl_printer.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/decl_printer.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -4,7 +4,7 @@ # http://www.boost.org/LICENSE_1_0.txt) """ -defines class, decl_printer_t that prints declarations tree in a user friendly format +defines class, :class:`decl_printer_t` that prints declarations tree in a user friendly format """ import os @@ -15,14 +15,8 @@ class decl_printer_t( decl_visitor.decl_visitor_t ): - """Helper class for printing decl tree. + """helper class for printing declarations tree""" - This class provides more information than the __str__() methods do. - The class is not just meant to provide a unique "id" for a declaration - but to inspect an entire declaration tree. This is particularly useful - for new users who want to find out how Py++ works and how it - stores its data. - """ JUSTIFY = 20 INDENT_SIZE = 4 @@ -125,7 +119,6 @@ self.writer( ' ' * curr_level * self.INDENT_SIZE + decorated_name + os.linesep) def print_calldef_info(self, decl=None): - """ Returns function signature: [retval, [arg1, ..., argN]]. """ if None is decl: decl = self.__inst @@ -277,9 +270,11 @@ , recursive=True , writer=lambda x: sys.stdout.write( x + os.linesep ) , verbose=True): - """ Print decl tree rooted at each of the included nodes. - decls - either a single decl or a list of decls. """ + print declarations tree rooted at each of the included nodes. + + :param decls: either a single :class:declaration_t object or list of :class:declaration_t objects + """ prn = decl_printer_t(0, detailed, recursive, writer, verbose=verbose) if type(decls) is not list: decls = [decls] Modified: pygccxml_dev/pygccxml/declarations/declaration.py =================================================================== --- pygccxml_dev/pygccxml/declarations/declaration.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/declaration.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -112,7 +112,7 @@ function will return true, if both declarations refers to the same object. This function could be implemented in terms of _get__cmp__data, but in this case it will downgrade performance. self.mangled property is not - compared, because it could be chaned from one compilation time to an + compared, because it could be changed from one compilation time to an other. """ if not isinstance( other, self.__class__ ): Modified: pygccxml_dev/pygccxml/declarations/enumeration.py =================================================================== --- pygccxml_dev/pygccxml/declarations/enumeration.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/enumeration.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -20,7 +20,7 @@ """creates class that describes C++ `enum` declaration The items of the list 'values' may either be strings containing - the enumeration value name or tuples (name, numvalue). + the enumeration value name or tuples (name, numeric value). :param name: `enum` name :type name: str Modified: pygccxml_dev/pygccxml/declarations/function_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/function_traits.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/function_traits.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -69,7 +69,7 @@ Use case: sometimes when user defines some virtual function in base class, it overrides it in a derived one. Sometimes we need to know whether two member - functions is actualy same function. + functions is actually same function. """ if f1 is f2: return True Modified: pygccxml_dev/pygccxml/declarations/matchers.py =================================================================== --- pygccxml_dev/pygccxml/declarations/matchers.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/matchers.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -46,11 +46,14 @@ return "base class for all matchers" class and_matcher_t(matcher_base_t): - """Combine several other matchers with "&". + """ + Combine several other matchers with "&" (and) operator. For example: find all private functions with name XXX - C{ matcher = access_type_matcher_t( 'private' ) & calldef_matcher_t( name='XXX' ) } + .. code-block:: python + + matcher = access_type_matcher_t( 'private' ) & calldef_matcher_t( name='XXX' ) """ def __init__(self, matchers): matcher_base_t.__init__(self) @@ -67,12 +70,14 @@ class or_matcher_t(matcher_base_t): - """Combine several other matchers with "|". + """Combine several other matchers with "|" (or) operator. For example: find all functions and variables with name 'XXX' - C{ matcher = variable_matcher_t( name='XXX' ) | calldef_matcher_t( name='XXX' ) } + .. code-block:: python + matcher = variable_matcher_t( name='XXX' ) | calldef_matcher_t( name='XXX' ) + """ def __init__(self, matchers): matcher_base_t.__init__(self) @@ -325,16 +330,20 @@ :param return_type: callable return type :type return_type: string or instance of :class:`type_t` derived class - :param arg_types: list of function argument types. arg_types can contain. + :param arg_types: list of function argument types. `arg_types` can contain. Any item within the list could be string or instance of :class:`type_t` derived class. If you don't want some argument to participate in match you can put None. For example: - C{ calldef_matcher_t( arg_types=[ 'int &', None ] ) } + .. code-block:: python + calldef_matcher_t( arg_types=[ 'int &', None ] ) + will match all functions that takes 2 arguments, where the first one is reference to integer and second any + :type arg_types: list + """ if None is decl_type: decl_type = calldef.calldef_t @@ -475,7 +484,7 @@ def __init__( self, access_type ): """ :param access_type: declaration access type - :type access_type: :class:ACCESS_TYPES defines few consts for your convinience. + :type access_type: :class:ACCESS_TYPES defines few constants for your convenience. Any way you can pass public, private or protected as argument to this function """ matcher_base_t.__init__( self ) Modified: pygccxml_dev/pygccxml/declarations/scopedef.py =================================================================== --- pygccxml_dev/pygccxml/declarations/scopedef.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/scopedef.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -455,7 +455,7 @@ , recursive=recursive ) def calldefs( self, name=None, function=None, return_type=None, arg_types=None, header_dir=None, header_file=None, recursive=None, allow_empty=None ): - """returns a set of calldef declarations, that are matched defined criteria""" + """returns a set of :class:`calldef_t` declarations, that are matched defined criteria""" return self._find_multiple( self._impl_matchers[ scopedef_t.calldef ] , name=name , function=function Modified: pygccxml_dev/pygccxml/declarations/type_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -304,7 +304,7 @@ or does_match_definition( type, cpptypes.fundamental_t, (cpptypes.volatile_t, cpptypes.const_t) ) \ class declaration_xxx_traits: - """this class implements the functionality needed for convinient work with + """this class implements the functionality needed for convenient work with declaration classes Implemented functionality: @@ -333,7 +333,7 @@ return self.__apply_sequence( type_ ) enum_traits = declaration_xxx_traits( enumeration.enumeration_t ) -"""implements functionality, needed for convinient work with C++ enums""" +"""implements functionality, needed for convenient work with C++ enums""" is_enum = enum_traits.is_my_case """returns True, if type represents C++ enumeration declaration, False otherwise""" @@ -342,13 +342,13 @@ """returns reference to enum declaration""" class_traits = declaration_xxx_traits( class_declaration.class_t ) -"""implements functionality, needed for convinient work with C++ classes""" +"""implements functionality, needed for convenient work with C++ classes""" is_class = class_traits.is_my_case """returns True, if type represents C++ class definition, False otherwise""" class_declaration_traits = declaration_xxx_traits( class_declaration.class_declaration_t ) -"""implements functionality, needed for convinient work with C++ class declarations""" +"""implements functionality, needed for convenient work with C++ class declarations""" is_class_declaration = class_declaration_traits.is_my_case """returns True, if type represents C++ class declaration, False otherwise""" @@ -1007,11 +1007,11 @@ class smart_pointer_traits: - """implements functionality, needed for convinient work with smart pointers""" + """implements functionality, needed for convenient work with smart pointers""" @staticmethod def is_smart_pointer( type_ ): - """returns True, if type represents instantiation of C{boost::shared_ptr}, False otherwise""" + """returns True, if type represents instantiation of `boost::shared_ptr`, False otherwise""" type_ = remove_alias( type_ ) type_ = remove_cv( type_ ) type_ = remove_declarated( type_ ) @@ -1023,17 +1023,17 @@ @staticmethod def value_type( type_ ): - """returns reference to boost::shared_ptr value type""" + """returns reference to `boost::shared_ptr` value type""" if not smart_pointer_traits.is_smart_pointer( type_ ): raise TypeError( 'Type "%s" is not instantiation of boost::shared_ptr' % type_.decl_string ) return internal_type_traits.get_by_name( type_, "value_type" ) class auto_ptr_traits: - """implements functionality, needed for convinient work with std::auto_ptr pointers""" + """implements functionality, needed for convenient work with `std::auto_ptr` pointers""" @staticmethod def is_smart_pointer( type_ ): - """returns True, if type represents instantiation of C{boost::shared_ptr}, False otherwise""" + """returns True, if type represents instantiation of `boost::shared_ptr`, False otherwise""" type_ = remove_alias( type_ ) type_ = remove_cv( type_ ) type_ = remove_declarated( type_ ) @@ -1045,14 +1045,14 @@ @staticmethod def value_type( type_ ): - """returns reference to boost::shared_ptr value type""" + """returns reference to `boost::shared_ptr` value type""" if not auto_ptr_traits.is_smart_pointer( type_ ): raise TypeError( 'Type "%s" is not instantiation of std::auto_ptr' % type_.decl_string ) return internal_type_traits.get_by_name( type_, "element_type" ) def is_std_string( type_ ): - """returns True, if type represents C++ std::string, False otherwise""" + """returns True, if type represents C++ `std::string`, False otherwise""" decl_strings = [ '::std::basic_string<char,std::char_traits<char>,std::allocator<char> >' , '::std::basic_string<char, std::char_traits<char>, std::allocator<char> >' @@ -1064,7 +1064,7 @@ return remove_cv( type_ ).decl_string in decl_strings def is_std_wstring( type_ ): - """returns True, if type represents C++ std::wstring, False otherwise""" + """returns True, if type represents C++ `std::wstring`, False otherwise""" decl_strings = [ '::std::basic_string<wchar_t,std::char_traits<wchar_t>,std::allocator<wchar_t> >' , '::std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >' Modified: pygccxml_dev/pygccxml/parser/__init__.py =================================================================== --- pygccxml_dev/pygccxml/parser/__init__.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/__init__.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -45,7 +45,7 @@ :type compilation_mode: L{COMPILATION_MODE} :param cache: Declaration cache (None=no cache) :type cache: L{cache_base_t} or str - @returns: Declarations + :rtype: Declarations """ if not config: config = config_t() Modified: pygccxml_dev/pygccxml/parser/config.py =================================================================== --- pygccxml_dev/pygccxml/parser/config.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/config.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -3,8 +3,9 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""This module contains the implementation of the L{config_t} class. """ +defines C++ parser configuration classes +""" import os import sys @@ -12,18 +13,19 @@ import types class parser_configuration_t(object): - """Configuration object to collect parameters for invoking C++ parser + """ + C++ parser configuration holder This class serves as a base class for the parameters that can be used - to customize the call to C++ parser. This class also allows users to work with - relative files paths. In this case files are searched in the following order: + to customize the call to a C++ parser. - 1. current directory + This class also allows users to work with relative files paths. In this case + files are searched in the following order: - 2. working directory + 1. current directory + 2. working directory + 3. additional include paths specified by the user - 3. additional include paths specified by the user - """ def __init__( self , working_directory='.' Modified: pygccxml_dev/pygccxml/parser/declarations_cache.py =================================================================== --- pygccxml_dev/pygccxml/parser/declarations_cache.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/declarations_cache.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -57,9 +57,11 @@ raise NotImplementedError() def update(self, source_file, configuration, declarations, included_files): - """ Update cache entry. + """ + update cache entry + :param source_file: path to the C++ source file being parsed - :param configuration: configuration used in parsing (config_t) + :param configuration: configuration used in parsing :class:`config_t` :param declarations: declaration tree found when parsing :param included_files: files included by parsing. """ @@ -69,7 +71,7 @@ """ Return declarations, we have cached, for the source_file and the given configuration. :param source_file: path to the C++ source file being parsed. - :param configuration: configuration to use for parsing (config_t) + :param configuration: configuration( :class:`config_t` ) that was used for parsing """ raise NotImplementedError() @@ -199,9 +201,10 @@ self.__needs_flushed = True def cached_value(self, source_file, configuration): - """ Attempt to lookup the cached decls for the given file and configuration. - If not found or signature check fails, returns None. """ + attempt to lookup the cached declarations for the given file and configuration. + If not found or signature check fails, returns None. + """ key = record_t.create_key(source_file, configuration) if not self.__cache.has_key( key ): return None Modified: pygccxml_dev/pygccxml/parser/directory_cache.py =================================================================== --- pygccxml_dev/pygccxml/parser/directory_cache.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/directory_cache.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -29,11 +29,10 @@ """ def __init__( self, filesigs, configsig ): - """Constructor. - - filesigs is a list of tuples (fileid, sig)... - configsig is the signature of the configuration object. """ + :param filesigs: a list of tuples( `fileid`, `sig`)... + :param configsig: the signature of the configuration object. + """ self.filesigs = filesigs self.configsig = configsig @@ -45,9 +44,9 @@ class directory_cache_t ( declarations_cache.cache_base_t ): - """Cache class that stores its data as multiple files inside a directory. + """cache class that stores its data as multiple files inside a directory. - The cache stores one index file called "index.dat" which is always + The cache stores one index file called `index.dat` which is always read by the cache when the cache object is created. Each header file will have its corresponding *.cache file that stores the declarations found in the header file. The index file is used to determine whether @@ -57,13 +56,13 @@ """ def __init__( self, dir="cache", compression=False, md5_sigs=True ): - """Constructor. + """ + :param dir: cache directory path, it is created, if it does not exist - dir is the cache directory (it is created if it does not exist). - If compression is set to True the cache files will be compressed - using gzip. - md5_sigs determines whether file modifications is checked by - computing a md5 digest or by checking the modification date. + :param compression: if `True`, the cache files will be compressed using `gzip` + + :param md5_sigs: `md5_sigs` determines whether file modifications is checked + by computing a `md5` digest or by checking the modification date """ declarations_cache.cache_base_t.__init__(self) @@ -102,20 +101,18 @@ def flush(self): """Save the index table to disk.""" - self._save() -# self.__filename_rep._dump() def update(self, source_file, configuration, declarations, included_files): """Replace a cache entry by a new value. - :param source_file: Header file name. + :param source_file: a C++ source file name. :type source_file: str - :param configuration: Configuration object. - :type configuration: L{config_t} - :param declarations: Declarations contained in the header file. + :param configuration: configuration object. + :type configuration: :class:config_t + :param declarations: declarations contained in the `source_file` :type declarations: picklable object - :param included_files: Dependent files + :param included_files: included files :type included_files: list of str """ # Normlize all paths... @@ -224,10 +221,10 @@ self.__modified_flag = False def _save(self): - """Save the cache index if it was modified. + """ + save the cache index, in case it was modified. - Saves the index table and the file name repository in the file - index.dat. + Saves the index table and the file name repository in the file `index.dat` """ if self.__modified_flag: self.__filename_rep.update_id_counter() @@ -236,13 +233,14 @@ self.__modified_flag = False def _read_file(self, filename): - """Read a Python object from a cache file. + """ + read a Python object from a cache file. Reads a pickled object from disk and returns it. :param filename: Name of the file that should be read. :type filename: str - @returns: Unpickled file contents + :rtype: object """ if self.__compression: f = gzip.GzipFile(filename, "rb") @@ -283,7 +281,7 @@ :param source_file: Header file name :type source_file: str :param key: Key value for the specified header file - :type key: hashable object + :type key: hash table object """ entry = self.__index.get(key) @@ -307,29 +305,30 @@ def _create_cache_key(self, source_file): - """Return the cache key for a header file. + """ + return the cache key for a header file. :param source_file: Header file name :type source_file: str - @returns: Key for the given header file - @rtype: str + :rtype: str """ path, name = os.path.split(source_file) return name+str(hash(path)) def _create_cache_filename(self, source_file): - """Return the cache file name for a header file. + """ + return the cache file name for a header file. :param source_file: Header file name :type source_file: str - @returns: Cache file name (*.cache) - @rtype: str + :rtype: str """ res = self._create_cache_key(source_file)+".cache" return os.path.join(self.__dir, res) def _create_config_signature(self, config): - """Return the signature for a config object. + """ + return the signature for a config object. The signature is computed as md5 digest of the contents of working_directory, include_paths, define_symbols and @@ -337,8 +336,7 @@ :param config: Configuration object :type config: L{config_t} - @returns: Signature - @rtype: str + :rtype: str """ m = hashlib.md5() m.update(config.working_directory) Modified: pygccxml_dev/pygccxml/parser/project_reader.py =================================================================== --- pygccxml_dev/pygccxml/parser/project_reader.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/project_reader.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -18,35 +18,35 @@ class file_configuration_t( object ): """ - file_configuration_t - a class, that contains some data and description how - to treat the data. file_configuration_t can contain reference to the next types - of data: + source code location configuration. - 1) path to C++ source file + The class instance uses "variant" interface to represent the following data: - 2) path to `GCC-XML`_ generated XML file + 1) path to a C++ source file - 3) path to C++ source file and path to `GCC-XML`_ generated XML file + 2) path to GCC-XML generated XML file + 3) path to a C++ source file and path to GCC-XML generated file + In this case, if XML file does not exists, it will be created. Next time you will ask to parse the source file, the XML file will be used instead. Small tip: you can setup your makefile to delete XML files every time, - the relevant source file has changed. + the relevant source file was changed. 4) Python string, that contains valid C++ code - There are few functions, that will help you to construct file_configuration_t + There are few functions, that will help you to construct :class:`file_configuration_t` object: - * L{create_source_fc} + * :func:`create_source_fc` - * L{create_gccxml_fc} + * :func:`create_gccxml_fc` - * L{create_cached_source_fc} + * :func:`create_cached_source_fc` - * L{create_text_fc} + * :func:`create_text_fc` """ class CONTENT_TYPE: @@ -146,27 +146,18 @@ , content_type=file_configuration_t.CONTENT_TYPE.CACHED_SOURCE_FILE ) class project_reader_t: - """Parses header files and returns the contained declarations. - """ + """parses header files and returns the contained declarations""" + def __init__( self, config, cache=None, decl_factory=None): - """Constructor. + """ + :param config: GCCXML configuration + :type config: :class:config_t - config is a configuration object that contains the parameters - for invoking gccxml. cache specifies the cache to use for - caching declarations between separate runs. By default, no - cache is used. decl_factory is an object that must provide - the same interface than - L{decl_factory_t<declarations.decl_factory_t>}, i.e. there must - be a set of C{create_*} methods that return an instance of an - appropriate declaration class. By default, the declaration - classes defined in the L{declarations} package are used. + :param cache: declaration cache, by default a cache functionality will not be used + :type cache: :class:`cache_base_t` instance or `str` - :param config: Configuration object - :type config: L{config_t} - :param cache: Declaration cache (None=no cache) - :type cache: L{cache_base_t} or str - :param decl_factory: Custom declaration factory object or None - :type decl_factory: decl_factory_t + :param decl_factory: declaration factory + :type decl_factory: :class:`decl_factory_t` """ self.__config = config self.__dcache = None @@ -184,10 +175,10 @@ @staticmethod def get_os_file_names( files ): - """Returns a list of OS file names + """ + returns file names - :param files: list of strings or L{file_configuration_t} instances. - files could contain a mix of them + :param files: list of strings and\\or :class:`file_configuration_t` instances. :type files: list """ fnames = [] @@ -203,14 +194,15 @@ return fnames def read_files( self, files, compilation_mode=COMPILATION_MODE.FILE_BY_FILE): - """Parse header files. + """ + parses a set of files - :param files: list of strings or L{file_configuration_t} instances. - files could contain a mix of them + :param files: list of strings and\\or :class:`file_configuration_t` instances. :type files: list - :param compilation_mode: Determines whether the files are parsed individually or as one single chunk - :type compilation_mode: L{COMPILATION_MODE} - @returns: Declarations + + :param compilation_mode: determines whether the files are parsed individually or as one single chunk + :type compilation_mode: :class:`COMPILATION_MODE` + :rtype: [:class:`declaration_t`] """ if compilation_mode == COMPILATION_MODE.ALL_AT_ONCE \ and len( files ) == len( self.get_os_file_names(files) ): @@ -302,7 +294,7 @@ :param content: C/C++ source code. :type content: str - @returns: Declarations + :rtype: Declarations """ reader = source_reader.source_reader_t( self.__config, None, self.__decl_factory ) return reader.read_string( content ) Modified: pygccxml_dev/pygccxml/parser/source_reader.py =================================================================== --- pygccxml_dev/pygccxml/parser/source_reader.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/pygccxml/parser/source_reader.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -50,31 +50,31 @@ """ This class reads C++ source code and returns declarations tree. - This class is the only class that have an intime knowledge about GCC-XML. + This class is the only class that works with GCC-XML directly. + It has only one responsibility: it calls GCC-XML with a source file specified by user and creates declarations tree. The implementation of this class is split - to 2 classes: + to two classes: - 1. L{scanner_t} - this class scans the "XML" file, generated by GCC-XML and - creates `pygccxml`_ declarations and types classes. After the xml file has + 1. `scanner_t` - this class scans the "XML" file, generated by GCC-XML and + creates `pygccxml`_ declarations and types classes. After the XML file has been processed declarations and type class instances keeps references to each other using GCC-XML generated id's. - 2. L{linker_t} - this class contains logic for replacing GCC-XML generated + 2. `linker_t` - this class contains logic for replacing GCC-XML generated ids with references to declarations or type class instances. """ def __init__( self, config, cache=None, decl_factory=None ): """ - :param config: instance of L{config_t} class, that contains GCC-XML + :param config: instance of :class:`config_t` class, that contains GCC-XML configuration - :type config: L{config_t} :param cache: reference to cache object, that will be updated after file has been parsed. - :param cache: instance of class, that derives from {cache_base_t} + :type cache: instance of :class:`cache_base_t` class - :param decl_factory: declarations factory, if not given default - declarations factory L{decl_factory_t} will be used + :param decl_factory: declarations factory, if not given default declarations + factory( :class:`decl_factory_t` ) will be used """ self.logger = utils.loggers.cxx_parser self.__search_directories = [] Modified: pygccxml_dev/unittests/data/core_cache.hpp =================================================================== --- pygccxml_dev/unittests/data/core_cache.hpp 2009-02-04 16:32:04 UTC (rev 1658) +++ pygccxml_dev/unittests/data/core_cache.hpp 2009-02-05 14:12:02 UTC (rev 1659) @@ -22,4 +22,4 @@ #endif//__core_cache_hpp__ -//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file +//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch//touch \ No newline at end of file Added: pygccxml_dev/unittests/ignore_dictionary.txt =================================================================== --- pygccxml_dev/unittests/ignore_dictionary.txt (rev 0) +++ pygccxml_dev/unittests/ignore_dictionary.txt 2009-02-05 14:12:02 UTC (rev 1659) @@ -0,0 +1,29 @@ +Yakovenko +org +www +txt +http +bool +const +JNI +jboolean +jbyte +jchar +jdouble +jfloat +jint +jlong +jshort +GCC +wchar +TODO +namespace +namespaces +str +pygccxml +GCCXML +gccxml +GCC +gcc +noncopyable +Bierbaum Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/argpolicy.py =================================================================== --- pyplusplus_dev/contrib/pypp_api/pypp_api/argpolicy.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/contrib/pypp_api/pypp_api/argpolicy.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -448,7 +448,7 @@ @param idx: Argument index of the original function @type idx: int - @returns: Returns the argument_t object that was removed (or None + :rtype: Returns the argument_t object that was removed (or None if idx is 0 and the function has no return type) """ if idx==0 and self.funcargs[0]==None: Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py =================================================================== --- pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/contrib/pypp_api/pypp_api/declwrapper.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -128,7 +128,7 @@ @param flag: Determines whether the declaration is actually exposed or ignored. @type flag: bool - @returns: Returns self + :rtype: Returns self @see: L{ignore()} """ if not flag: @@ -482,7 +482,7 @@ @type allow_empty: bool @param assert_count: Check the number of matched declarations in the resulting Decl object @type assert_count: int - @returns: Returns a Decl object that may reference an arbitrary number of declarations. + :rtype: Returns a Decl object that may reference an arbitrary number of declarations. @rtype: IDecl @see: Namespace(), Class(), Method(), Function(), Enum() """ @@ -602,7 +602,7 @@ See Decl() for a full description of this method. - @returns: Returns a Decl object that may reference an arbitrary number of declarations. + :rtype: Returns a Decl object that may reference an arbitrary number of declarations. @see: L{Decl()} """ return self.Decls(name=name, type=type|NAMESPACE, **args) @@ -692,7 +692,7 @@ def _checkOverloads(self): """Check if all contained declarations are from the same set of overloads. - @returns: True if all contained declarations are from the same set of overloads. + :rtype: True if all contained declarations are from the same set of overloads. @rtype: bool """ if len(self.decl_handles)==0: @@ -712,7 +712,7 @@ def _parseDefArgs(self, args): """Determine which of the args is the doc string, call policies and keywords argument. - @returns: Returns a tuple (doc, policies, keywords). + :rtype: Returns a tuple (doc, policies, keywords). """ if len(args)>3: raise ValueError, "Too many arguments (%d)"%len(args) @@ -802,7 +802,7 @@ describes the source code line that created this instance. funcname is None if the source code is not located inside a function. - @returns: (filename, funcname, linenr, sourceline) + :rtype: (filename, funcname, linenr, sourceline) @rtype: 4-tuple """ frame = inspect.currentframe() Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/filters.py =================================================================== --- pyplusplus_dev/contrib/pypp_api/pypp_api/filters.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/contrib/pypp_api/pypp_api/filters.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -44,7 +44,7 @@ @param txt: The string to match @type txt: str - @returns: True if txt matches the pattern + :rtype: True if txt matches the pattern """ if self.regexp==None: return txt==self.pattern @@ -83,7 +83,7 @@ A return value of None means the filter's range is unlimited. - @returns: Filter range or None + :rtype: Filter range or None @rtype: TreeRange """ return None @@ -109,7 +109,7 @@ always return False so the search algorithm may decide not to visit them at all to speed up the search. - @returns: None, an empty list or a list of tuples (parent, recursive). + :rtype: None, an empty list or a list of tuples (parent, recursive). """ return None Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/modulebuilder.py =================================================================== --- pyplusplus_dev/contrib/pypp_api/pypp_api/modulebuilder.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/contrib/pypp_api/pypp_api/modulebuilder.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -172,7 +172,7 @@ This method can be called anytime after initialization and all Template() calls have been made. - @returns: Returns the root of the declaration tree + :rtype: Returns the root of the declaration tree @rtype: L{IDecl<declwrapper.IDecl>} @postcondition: This class can act as a wrapper for namespace("::") and all declarations are set to be ignored. """ @@ -646,7 +646,7 @@ @param t: Time value in seconds @type t: float - @returns: The time as a string + :rtype: The time as a string @rtype: str """ if t<60: Modified: pyplusplus_dev/contrib/pypp_api/pypp_api/treerange.py =================================================================== --- pyplusplus_dev/contrib/pypp_api/pypp_api/treerange.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/contrib/pypp_api/pypp_api/treerange.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -122,7 +122,7 @@ @param other: A simple range (parent, recursive). @type other: 2-tuple - @returns: The new root node. + :rtype: The new root node. @rtype: TreeRange """ @@ -147,7 +147,7 @@ @param simplerange: A simple range (parent, recursive). @type simplerange: 2-tuple - @returns: The new root node. + :rtype: The new root node. @rtype: TreeRange """ otherparent, otherrecursive = simplerange @@ -215,7 +215,7 @@ @param other: Another TreeRange object @type other: TreeRange - @returns: The new root node. + :rtype: The new root node. @rtype: TreeRange """ res = self @@ -231,7 +231,7 @@ @param simplerange: A simple range (parent, recursive). @type simplerange: 2-tuple - @returns: The new root node. + :rtype: The new root node. @rtype: TreeRange """ otherparent, otherrecursive = simplerange @@ -311,7 +311,7 @@ def _rangeRelationship(self, parent1, parent2): """Determines the relationship between two nodes. - @returns: Returns the relationship as an integer value: + :rtype: Returns the relationship as an integer value: - 0: The sub trees rooted at parent1 and parent2 are disjoint - 1: parent2 is below parent1 - 2: parent1 is below parent2 @@ -331,7 +331,7 @@ """Returns a list with all nodes from node to the root (including node). @precondition: node must have a parent attribute - @returns: Returns a list of nodes + :rtype: Returns a list of nodes @rtype: list """ res = [] Modified: pyplusplus_dev/pyplusplus/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/__init__.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/pyplusplus/__init__.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -3,7 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""Py++ - Boost.Python code generator +"""`Py++` - Boost.Python code generator ======================================== This package (together with the accompanying pygccxml package and @@ -19,7 +19,7 @@ finally written into one or more C++ source files, which can then be compiled to generate the final Python module. -If you are just starting with U{Py++<http://www.language-binding.net>}, +If you are just starting with U{`Py++`<http://www.language-binding.net>}, then consider to read documentation of L{module_builder} package. """ @@ -38,14 +38,14 @@ import pygccxml if not hasattr( pygccxml, '__revision__' ) or pygccxml.__revision__ < 1080: - msg = 'This revision of Py++ requieres pygccxml revision to be ' \ + msg = 'This revision of `Py++` requieres pygccxml revision to be ' \ 'greater or equal to %d. ' \ 'Please install right pygccxml version.' raise AssertionError( msg % pygccxml.__revision__ ) #Known issues: #3. -#~ > > 2. An other difference: when Py++ creates bindings for a set of +#~ > > 2. An other difference: when `Py++` creates bindings for a set of #~ > > declarations, it #~ > > should (?) see all declarations that are going to be exported: #~ > > reasons: Modified: pyplusplus_dev/pyplusplus/_logging_/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/__init__.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/pyplusplus/_logging_/__init__.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -46,12 +46,12 @@ module_builder = _create_logger_( 'pyplusplus.module_builder' ) """logger that in use by L{module_builder_t} class. - Just another logger. It exists mostly for Py++ developers. + Just another logger. It exists mostly for `Py++` developers. """ #root logger exists for configuration purpose only root = logging.getLogger( 'pyplusplus' ) - """root logger exists for your convinience only""" + """root logger exists for your convenience only""" all = [ root, file_writer, module_builder, declarations ] """contains all logger classes, defined by the class""" Modified: pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -13,7 +13,7 @@ """Custom log formatter to split long message into several lines. This formatter is used for the default stream handler that outputs - its messages to stdout. + its messages to `stdout`. """ def __init__(self, fmt=None, datefmt=None, width=None): @@ -38,13 +38,13 @@ def format(self, record): """This method overwrites the original one. - The first thing that is done in the original format() method - is the creation of the record.message attribute: + The first thing, that is done in the original format() method, is the + creation of the record.message attribute: record.message = record.getMessage() Now this method temporarily replaces the getMessage() method of - the record by a version that returns a pregenerated message that + the record by a version that returns a pre-generated message that spans several lines. Then the original format() method is called which will invoke the 'fake' method. """ @@ -68,10 +68,10 @@ msgline is a string containing a single message. It can either be a plain message string which is reformatted using the textwrap - module or it can be of the form <decl>;<msg> where <decl> is the - declaration string and <msg> an arbitrary message. Lines of this - form will be separated so that the declaration and the message - appear in individual text blocks, where every line of message will start + module or it can be of the form <declaration>;<message> where <declaration> + is the declaration string and <message> an arbitrary message. Lines of this + form will be separated so that the declaration and the message appear in + individual text blocks, where every line of message will start with '>' character. width is the maximum width of any text blocks (without indendation). @@ -81,13 +81,13 @@ if len( txts ) != 2: #If message is not in format we expected, just return it return os.linesep.join( textwrap.wrap( msgline, width ) ) - + lines = [ txts[0] ] #I don't want to break declaration string to few lines - + # Insert a separator if there are two parts (=decl and msg) # Apply the text wrapper to shorten the maximum line length wrapped_lines = textwrap.wrap( txts[1], width ) lines.extend( map( lambda s: "> " + s.strip(), wrapped_lines ) ) - + return os.linesep.join(lines) Modified: pyplusplus_dev/pyplusplus/code_creators/code_creator.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2009-02-04 16:32:04 UTC (rev 1658) +++ pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2009-02-05 14:12:02 UTC (rev 1659) @@ -94,17 +94,15 @@ actually creates code and returns it. Return value of this function is string. - @rtype: str + :rtype: str """ raise NotImplementedError() def create(self): """ - this function should be used in order to get code that should be - generated. - - @returns: Returns a text block of C++ source code. - @rtype: str + generates source code + + :rtype: str """ code = self._create_impl() assert isinstance( code, types.StringTypes ) @@ -153,7 +151,7 @@ :param code: A code block with C++ source code. :type code: str - @rtype: str + :rtype: str """ assert isinstance( code, types.StringTypes ) return code.strip() @@ -167,8 +165,7 @@ :type code: str :param size: The number of indentation levels that the code is shifted :type size: int - @returns: Returns indented source code - @rtype: str + :rtype: str """ assert isinstance( code, types.StringTypes ) return code_creator_t.__INDENTATION * size\ @@ -182,7 +179,7 @@ :param code: C++ code block. :type code: str - @rtype: str + :rtype: str """ assert isinstance( code, types.StringTypes ) if code.startswith(code_creator_t.__INDENTATION): @@ -198,10 +195,10 @@ :param line: C++ source code :type line: str - ... [truncated message content] |
From: <rom...@us...> - 2009-02-08 08:23:28
|
Revision: 1661 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1661&view=rev Author: roman_yakovenko Date: 2009-02-08 08:23:25 +0000 (Sun, 08 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/unittests/autoconfig.py pyplusplus_dev/pyplusplus/messages/__init__.py pyplusplus_dev/unittests/autoconfig.py sphinx/conf.py Added Paths: ----------- sphinx/ignore_dictionary.txt Removed Paths: ------------- pygccxml_dev/unittests/ignore_dictionary.txt pyplusplus_dev/unittests/ignore_dictionary.txt Modified: pygccxml_dev/unittests/autoconfig.py =================================================================== --- pygccxml_dev/unittests/autoconfig.py 2009-02-08 06:21:39 UTC (rev 1660) +++ pygccxml_dev/unittests/autoconfig.py 2009-02-08 08:23:25 UTC (rev 1661) @@ -7,20 +7,11 @@ import sys import getpass - - #~ os.environ['PYCHECKER'] = '--limit=1000 -q --no-argsused' #~ import pychecker.checker this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) ) -sys.path.append( os.path.abspath( os.path.join( this_module_dir_path, '..', '..', 'pydsc_dev' ) ) ) - -import pydsc -pydsc.ignore_dictionary( 'ignore_dictionary.txt' ) -pydsc.set_text_preprocessor( pydsc.sphinx_preprocessor ) -pydsc.include_paths( os.path.join( this_module_dir_path, '..', '..', 'pygccxml_dev' ) ) - data_directory = os.path.join( this_module_dir_path, 'data' ) build_directory = os.path.join( this_module_dir_path, 'temp' ) Deleted: pygccxml_dev/unittests/ignore_dictionary.txt =================================================================== --- pygccxml_dev/unittests/ignore_dictionary.txt 2009-02-08 06:21:39 UTC (rev 1660) +++ pygccxml_dev/unittests/ignore_dictionary.txt 2009-02-08 08:23:25 UTC (rev 1661) @@ -1,29 +0,0 @@ -Yakovenko -org -www -txt -http -bool -const -JNI -jboolean -jbyte -jchar -jdouble -jfloat -jint -jlong -jshort -GCC -wchar -TODO -namespace -namespaces -str -pygccxml -GCCXML -gccxml -GCC -gcc -noncopyable -Bierbaum Modified: pyplusplus_dev/pyplusplus/messages/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/messages/__init__.py 2009-02-08 06:21:39 UTC (rev 1660) +++ pyplusplus_dev/pyplusplus/messages/__init__.py 2009-02-08 08:23:25 UTC (rev 1661) @@ -3,9 +3,11 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""This package defines all user messages( warnings + errors ), which will be +"""This package defines all user messages( warnings + errors ), which will be reported to user. """ + +import warnings_ from warnings_ import * def find_out_message_id( msg ): @@ -21,11 +23,11 @@ def filter_disabled_msgs( msgs, disable_messages=None ): report = [] - + skip_them = DISABLE_MESSAGES[:] if disable_messages: skip_them.extend( disable_messages ) - + skip_them = filter( None, map( find_out_message_id, skip_them ) ) for msg in msgs: Modified: pyplusplus_dev/unittests/autoconfig.py =================================================================== --- pyplusplus_dev/unittests/autoconfig.py 2009-02-08 06:21:39 UTC (rev 1660) +++ pyplusplus_dev/unittests/autoconfig.py 2009-02-08 08:23:25 UTC (rev 1661) @@ -9,17 +9,8 @@ import unittest import subprocess - this_module_dir_path = os.path.abspath ( os.path.dirname( sys.modules[__name__].__file__) ) -sys.path.append( os.path.abspath( os.path.join( this_module_dir_path, '..', '..', 'pydsc_dev' ) ) ) - -#~ import pydsc -#~ pydsc.ignore_dictionary( os.path.join( this_module_dir_path, 'ignore_dictionary.txt' ) ) -#~ pydsc.set_text_preprocessor( pydsc.sphinx_preprocessor ) -#~ pydsc.include_paths( os.path.join( this_module_dir_path, '..', '..', 'pyplusplus_dev' ) ) - - data_directory = os.path.join( this_module_dir_path, 'data' ) build_directory = os.path.join( this_module_dir_path, 'temp' ) build_dir = build_directory Deleted: pyplusplus_dev/unittests/ignore_dictionary.txt =================================================================== --- pyplusplus_dev/unittests/ignore_dictionary.txt 2009-02-08 06:21:39 UTC (rev 1660) +++ pyplusplus_dev/unittests/ignore_dictionary.txt 2009-02-08 08:23:25 UTC (rev 1661) @@ -1,29 +0,0 @@ -Yakovenko -org -www -txt -http -bool -const -JNI -jboolean -jbyte -jchar -jdouble -jfloat -jint -jlong -jshort -GCC -wchar -TODO -namespace -namespaces -str -pygccxml -GCCXML -gccxml -GCC -gcc -noncopyable -Bierbaum Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-08 06:21:39 UTC (rev 1660) +++ sphinx/conf.py 2009-02-08 08:23:25 UTC (rev 1661) @@ -48,9 +48,15 @@ else: shutil.copy( os.path.join( project_root, 'index.rest' ), doc_project_root ) -#disable import replacment -#os.environ['PYDSC'] = 'sphinx' +import pydsc +#report errors related to the project only +pydsc.include_paths( project_root ) +pydsc.ignore_dictionary( 'ignore_dictionary.txt' ) +pydsc.set_text_preprocessor( pydsc.sphinx_preprocessor ) +import pygccxml +import pyplusplus + # General configuration # --------------------- Added: sphinx/ignore_dictionary.txt =================================================================== --- sphinx/ignore_dictionary.txt (rev 0) +++ sphinx/ignore_dictionary.txt 2009-02-08 08:23:25 UTC (rev 1661) @@ -0,0 +1,29 @@ +Yakovenko +org +www +txt +http +bool +const +JNI +jboolean +jbyte +jchar +jdouble +jfloat +jint +jlong +jshort +GCC +wchar +TODO +namespace +namespaces +str +pygccxml +GCCXML +gccxml +GCC +gcc +noncopyable +Bierbaum This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-08 13:54:02
|
Revision: 1662 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1662&view=rev Author: roman_yakovenko Date: 2009-02-08 13:53:58 +0000 (Sun, 08 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/pygccxml/binary_parsers/parsers.py pygccxml_dev/pygccxml/binary_parsers/undname.py pyplusplus_dev/pyplusplus/__init__.py pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py pyplusplus_dev/pyplusplus/code_creators/class_declaration.py pyplusplus_dev/pyplusplus/code_creators/code_creator.py pyplusplus_dev/pyplusplus/code_creators/enum.py pyplusplus_dev/pyplusplus/code_creators/include_directories.py pyplusplus_dev/pyplusplus/code_creators/member_variable.py pyplusplus_dev/pyplusplus/code_creators/name_mappings.py pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py pyplusplus_dev/pyplusplus/creators_factory/types_database.py pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py pyplusplus_dev/pyplusplus/file_writers/__init__.py pyplusplus_dev/pyplusplus/file_writers/balanced_files.py pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py pyplusplus_dev/pyplusplus/file_writers/multiple_files.py pyplusplus_dev/pyplusplus/function_transformers/__init__.py pyplusplus_dev/pyplusplus/function_transformers/transformer.py pyplusplus_dev/pyplusplus/function_transformers/transformers.py pyplusplus_dev/pyplusplus/module_builder/boost_python_builder.py sphinx/ignore_dictionary.txt Modified: pygccxml_dev/pygccxml/binary_parsers/parsers.py =================================================================== --- pygccxml_dev/pygccxml/binary_parsers/parsers.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pygccxml_dev/pygccxml/binary_parsers/parsers.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -70,14 +70,14 @@ def load_symbols( self ): """loads public( shared ) symbols from the binary file. - This method should be overiden in the derived classes. + This method should be overridden in the derived classes. """ raise NotImplementedError() def merge( self, symbol): """extracts and merges information from the symbol to the declarations tree. - This method should be overiden in the derived classes. + This method should be overridden in the derived classes. """ raise NotImplementedError() @@ -132,7 +132,7 @@ formated_mapping_parser_t.__init__( self, global_ns, map_file_path, 'msvc' ) def load_symbols( self ): - """returns dictionary { decorated symbol : orignal declaration name }""" + """returns dictionary { decorated symbol : original declaration name }""" f = file( self.binary_file ) lines = [] was_exports = False Modified: pygccxml_dev/pygccxml/binary_parsers/undname.py =================================================================== --- pygccxml_dev/pygccxml/binary_parsers/undname.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pygccxml_dev/pygccxml/binary_parsers/undname.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -8,7 +8,7 @@ unique names and map them to the declarations On Windows: - ctypes package is used to call UnDecorateSymbolName function from dbghelp.dll + ctypes package is used to call `UnDecorateSymbolName` function from `dbghelp.dll` On Linux: "nm" utility is used. @@ -21,7 +21,7 @@ from pygccxml import declarations class UNDECORATE_NAME_OPTIONS: - """defines few constants for UnDecorateSymbolName function""" + """defines few constants for `UnDecorateSymbolName` function""" UNDNAME_COMPLETE = 0x0000 #Enables full undecoration. UNDNAME_NO_LEADING_UNDERSCORES = 0x0001 #Removes leading underscores from Microsoft extended keywords. @@ -200,12 +200,12 @@ def format_decl(self, decl, hint=None): """returns string, which contains full function name formatted exactly as - result of dbghelp.UnDecorateSymbolName, with UNDNAME_NO_MS_KEYWORDS | UNDNAME_NO_ACCESS_SPECIFIERS | UNDNAME_NO_ECSU + result of `dbghelp.UnDecorateSymbolName`, with UNDNAME_NO_MS_KEYWORDS | UNDNAME_NO_ACCESS_SPECIFIERS | UNDNAME_NO_ECSU options. - Different compilers\utilities undecorate/demangle magled string ( unique names ) in a different way. - hint argument will tell pygccxml how to format declarations, so it couls be mapped later to the blob. - The valid options are" msvc, nm + Different compilers\utilities undecorate/demangle mangled string ( unique names ) in a different way. + `hint` argument will tell pygccxml how to format declarations, so they could be mapped later to the blobs. + The valid options are: "msvc" and "nm". """ name = None if hint is None: Modified: pyplusplus_dev/pyplusplus/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/__init__.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/__init__.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -15,7 +15,7 @@ in the headers. You can then modify (decorate) this tree to customize the bindings. After that, a I{code creators} tree is created where each node represents a block of C++ source code. So you can change any piece of -code befor it is written to disk. As a last step, these source code blocks are +code before it is written to disk. As a last step, these source code blocks are finally written into one or more C++ source files, which can then be compiled to generate the final Python module. @@ -40,7 +40,7 @@ if not hasattr( pygccxml, '__revision__' ) or pygccxml.__revision__ < 1080: msg = 'This revision of `Py++` requieres pygccxml revision to be ' \ 'greater or equal to %d. ' \ - 'Please install right pygccxml version.' + 'Please install right pygccxml version.' raise AssertionError( msg % pygccxml.__revision__ ) #Known issues: Modified: pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py =================================================================== --- pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/_logging_/multi_line_formatter.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -66,15 +66,15 @@ def formatMessage(msgline, width=70): """Format a long single line message so that it is easier to read. - msgline is a string containing a single message. It can either be - a plain message string which is reformatted using the textwrap + `msgline` is a string containing a single message. It can either be + a plain message string which is reformatted using the :mod:`textwrap` module or it can be of the form <declaration>;<message> where <declaration> is the declaration string and <message> an arbitrary message. Lines of this form will be separated so that the declaration and the message appear in individual text blocks, where every line of message will start with '>' character. - width is the maximum width of any text blocks (without indendation). + width is the maximum width of any text blocks (without indentation). """ txts = msgline.split(";") # Ensure that there are no more than two items in txts Modified: pyplusplus_dev/pyplusplus/code_creators/class_declaration.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/class_declaration.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -325,10 +325,9 @@ def _get_system_files_impl( self ): return [] -#open question: should I put class wrapper under some specifiec namespace? class class_wrapper_t( scoped.scoped_t ): """ - Creates C++ code that creates wrapper arround some class + creates C++ code, which creates wrapper around a class """ def __init__(self, declaration, class_creator ): Modified: pyplusplus_dev/pyplusplus/code_creators/code_creator.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/code_creator.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -17,9 +17,9 @@ The purpose of a code creator is the generation of a block of C++ source code as it will appear in the final source code for the - extension module. The source code is obtained by calling the L{create()} - method. Derived classes must implement the L{_create_impl()} method - which is called by the create() method. + extension module. The source code is obtained by calling the :meth:`code_creator_t.create` + method. Derived classes must implement the :meth:`code_creator_t._create_impl` method + which is called by the :meth:`code_creator_t.create` method. """ PYPLUSPLUS_NS_NAME = 'pyplusplus' __INDENTATION = ' ' @@ -101,7 +101,7 @@ def create(self): """ generates source code - + :rtype: str """ code = self._create_impl() @@ -197,8 +197,8 @@ :type line: str :param language: the programming language, the line was written in. Possible values: C++, Python :type line: str - - :rtype: bool + + :rtype: bool """ assert isinstance( line, types.StringTypes ) l = line.lstrip() Modified: pyplusplus_dev/pyplusplus/code_creators/enum.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/enum.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/enum.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -12,7 +12,7 @@ class enum_t( registration_based.registration_based_t , declaration_based.declaration_based_t ): """ - Creates boost.python code that expose C++ enum + create code that exposes C++ enumeration """ def __init__(self, enum ): registration_based.registration_based_t.__init__( self ) Modified: pyplusplus_dev/pyplusplus/code_creators/include_directories.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/include_directories.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/include_directories.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -10,8 +10,8 @@ class include_directories_t(instruction.instruction_t): """ The instance of this class holds a list of user defined directories. - L{include_t} and {precompiled_header_t} code creators use it to generate - relative include directives. + :class:`code_creators.include_t` and :class:`code_creators.precompiled_header_t` + code creators use it to generate relative include directives. """ def __init__(self): instruction.instruction_t.__init__(self) @@ -21,7 +21,7 @@ @staticmethod def normalize( path ): return os.path.normpath( os.path.normcase( path ) ) - + def _get_user_defined(self): self._user_defined = map( self.normalize, self._user_defined ) return self._user_defined @@ -41,7 +41,7 @@ headers.append( self.normalize( header ) ) dname = os.path.commonprefix( headers ) return dname in headers[:-1] - + def is_user_defined(self, header): return not self.is_std( header ) @@ -62,15 +62,14 @@ headers = self.std + self.user_defined answer = self._remove_common_prefix( header, headers ) return answer.replace( '\\', '/' ) - + def _generate_description(self): desc = ["std directories: " + pprint.pformat( self.std )] - temp = pprint.pformat( self.user_defined ) + temp = pprint.pformat( self.user_defined ) if os.linesep not in temp: #fixing bug on windows where linesep == \n\r #while pformat uses \n temp = temp.replace( '\n', os.linesep ) desc.append( "user defined directories: " + temp ) return os.linesep.join( desc ) - - \ No newline at end of file + Modified: pyplusplus_dev/pyplusplus/code_creators/member_variable.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/member_variable.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -167,7 +167,7 @@ class member_variable_wrapper_t( code_creator.code_creator_t , declaration_based.declaration_based_t ): """ - Creates C++ code that creates accessor for pointer class variables + creates get/set accessors for class variables, that has type pointer """ #TODO: give user a way to set call policies # treat void* pointer @@ -316,7 +316,7 @@ class bit_field_wrapper_t( code_creator.code_creator_t , declaration_based.declaration_based_t ): """ - Creates C++ code that creates accessor for bit fields + creates get/set accessors for bit fields """ indent = code_creator.code_creator_t.indent @@ -431,13 +431,9 @@ return [] -#TODO: generated fucntion should be static and take instance of the wrapped class -#as first argument. class array_mv_wrapper_t( code_creator.code_creator_t , declaration_based.declaration_based_t ): - """ - Creates C++ code that register array class. - """ + """registers array class""" def __init__(self, variable ): code_creator.code_creator_t.__init__( self ) @@ -499,7 +495,7 @@ class mem_var_ref_t( member_variable_base_t ): """ - Creates C++ code that creates accessor for class member variable, that has type reference. + creates get/set accessors for class member variable, that has type reference. """ def __init__(self, variable, wrapper ): member_variable_base_t.__init__( self, variable=variable, wrapper=wrapper ) @@ -554,7 +550,7 @@ class mem_var_ref_wrapper_t( code_creator.code_creator_t , declaration_based.declaration_based_t ): """ - Creates C++ code that creates accessor for class member variable, that has type reference. + creates get/set accessors for class member variable, that has type reference. """ indent = code_creator.code_creator_t.indent Modified: pyplusplus_dev/pyplusplus/code_creators/name_mappings.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/name_mappings.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/name_mappings.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -8,7 +8,7 @@ class name_mappings_t(code_creator.code_creator_t): - """creates dictionery { [un]decorated name : [un]decorated name }""" + """creates dictionary { [un]decorated name : [un]decorated name }""" def __init__( self, exported_symbols ): code_creator.code_creator_t.__init__(self) Modified: pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/code_creators/smart_pointers.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -12,14 +12,14 @@ templates = declarations.templates class held_type_t(object): - """ Helper class that can hold name of smart_ptr type and create + """ Helper class that can hold name of `smart_ptr` type and create identifier for held type from that given a creator. """ def __init__( self, smart_ptr ): - """ smart_ptr: string of ptr type. Ex: 'boost::shared_ptr' """ + """ smart_ptr: string of ptr type. Ex: `boost::shared_ptr`""" object.__init__( self ) self._smart_ptr = smart_ptr - + def _get_smart_ptr( self ): return self._smart_ptr def _set_smart_ptr( self, ptr ): @@ -28,26 +28,28 @@ def create( self, creator): """ Return string of type to use for held type. - Ex: boost::shared_ptr<Class> + Ex: `boost::shared_ptr` class """ smart_ptr = algorithm.create_identifier( creator, self.smart_ptr ) arg = algorithm.create_identifier( creator, creator.declaration.decl_string ) return templates.join( smart_ptr, [ arg ] ) - + class smart_pointer_registrator_t( registration_based.registration_based_t , declaration_based.declaration_based_t ): - """ Convertor for boost::python::register_ptr_to_python<PTR>. - Lets boost python know that it can use smart_ptr to hold a an object. - See: http://www.boost.org/libs/python/doc/v2/register_ptr_to_python.html """ + Converter for `boost::python::register_ptr_to_python`. + + Lets boost python know that it can use `smart_ptr` to hold a an object. + See: http://www.boost.org/libs/python/doc/v2/register_ptr_to_python.html + """ def __init__( self, smart_ptr, class_creator ): - """ smart_ptr: string of ptr type. Ex: 'boost::shared_ptr' """ + """`smart_ptr`: string of pointer type. Ex: `boost::shared_ptr`""" registration_based.registration_based_t.__init__( self ) declaration_based.declaration_based_t.__init__( self, class_creator.declaration ) self._smart_ptr = smart_ptr self._class_creator = class_creator self.works_on_instance = False - + def _get_smart_ptr( self ): return self._smart_ptr def _set_smart_ptr( self, ptr ): @@ -60,7 +62,7 @@ self._class_creator = cc class_creator = property( _get_class_creator, _set_class_creator ) - def _create_impl(self): + def _create_impl(self): if self.declaration.already_exposed: return '' if self.class_creator \ @@ -76,7 +78,7 @@ def _get_system_files_impl( self ): return [] - + class smart_pointers_converter_t( registration_based.registration_based_t , declaration_based.declaration_based_t ): """ creator for boost::python::implicitly_convertible. @@ -94,27 +96,26 @@ def _get_target(self): return self._target target = property( _get_target ) - + def _get_source(self): return self.declaration source = property( _get_source ) - + def _get_smart_ptr( self ): return self._smart_ptr def _set_smart_ptr( self, ptr ): self._smart_ptr = ptr - smart_ptr = property( _get_smart_ptr, _set_smart_ptr ) + smart_ptr = property( _get_smart_ptr, _set_smart_ptr ) def _instantiate_smart_ptr( self, decl ): identifier = algorithm.create_identifier( self, decl.partial_decl_string ) return templates.join( self.smart_ptr, [identifier] ) - - def _create_impl(self): + + def _create_impl(self): implicitly_convertible = algorithm.create_identifier( self, '::boost::python::implicitly_convertible' ) from_arg = self._instantiate_smart_ptr( self.source ) to_arg = self._instantiate_smart_ptr( self.target ) - return templates.join(implicitly_convertible, [ from_arg, to_arg ] ) + '();' - + return templates.join(implicitly_convertible, [ from_arg, to_arg ] ) + '();' + def _get_system_files_impl( self ): return [] - \ No newline at end of file Modified: pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py =================================================================== --- pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/creators_factory/bpcreator.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -204,9 +204,10 @@ assert not "unknown instace of registrator: " % str( registered ) def _treat_smart_pointers( self ): - """ Go to all class creators and apply held_type and creator registrators - as needed. """ + goes over all class creators and apply held_type and registers smart pointers + classes as needed + """ find_classes = code_creators.creator_finder.find_by_class_instance class_creators = find_classes( what=code_creators.class_t , where=self.__extmodule.body.creators @@ -324,8 +325,8 @@ create and return the module for the extension - code creators tree root. :param decl_headers: If None the headers for the wrapped decls are automatically found. - But you can pass a list of headers here to override that search. - @rtype: :class:`code_creators.module_t` + But you can pass a list of headers here to override that search. + :rtype: :class:`code_creators.module_t` """ # Invoke the appropriate visit_*() method on all decls for decl in self.__decls: Modified: pyplusplus_dev/pyplusplus/creators_factory/types_database.py =================================================================== --- pyplusplus_dev/pyplusplus/creators_factory/types_database.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/creators_factory/types_database.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -15,11 +15,11 @@ self.__variables = {} # decl_string : [type] self.__return_types = {} # decl_string : [type] self.__arguments_types = {} #decl_string : [type] - self.__smart_ptrs = [ 'shared_ptr', 'auto_ptr' ] + self.__smart_ptrs = [ 'shared_ptr', 'auto_ptr' ] self.__fundamental_strs = declarations.FUNDAMENTAL_TYPES.keys() self.__normalize_data = [ ',', '<', '>', '*', '&', '(', ')', '::' ] self.__containers = set() - + def update( self, decl ): if isinstance( decl, declarations.calldef_t ): if not isinstance( decl, declarations.constructor_t ): @@ -30,13 +30,13 @@ self._update_db( self.__variables, decl.type ) else: assert not "types_database_t class can not process " + str( decl ) - + def _is_relevant(self, decl_string): for smart_ptr in self.__smart_ptrs: if smart_ptr in decl_string: return True return False - + def _is_relevant_inst( self, name, args ): return self._is_relevant( name ) @@ -53,68 +53,68 @@ #will return True is type was treated type_ = declarations.remove_alias( type_ ) type_ = declarations.remove_pointer( type_ ) - type_ = declarations.remove_reference( type_ ) - type_ = declarations.remove_cv( type_ ) - type_ = declarations.remove_declarated( type_ ) - + type_ = declarations.remove_reference( type_ ) + type_ = declarations.remove_cv( type_ ) + type_ = declarations.remove_declarated( type_ ) + class_traits = declarations.class_traits class_declaration_traits = declarations.class_declaration_traits if not class_traits.is_my_case( type_ ) and not class_declaration_traits.is_my_case( type_ ): return False - + if class_traits.is_my_case( type_ ): container_cls = class_traits.get_declaration( type_ ) else: container_cls = class_declaration_traits.get_declaration( type_ ) - + if None is container_cls.indexing_suite: return False - - try: + + try: #check extraction of element type from container container_cls.indexing_suite.element_type except RuntimeError: decls_logger = _logging_.loggers.declarations if not messages.filter_disabled_msgs([messages.W1042], container_cls.disabled_messages ): - return #user disabled property warning - decls_logger.warn( "%s;%s" % ( container_cls, messages.W1042 ) ) + return #user disabled property warning + decls_logger.warn( "%s;%s" % ( container_cls, messages.W1042 ) ) self.__containers.add( container_cls ) return True - + def _update_db( self, db, type_ ): if self._update_containers_db( type_ ): return - decl_string = self._normalize( declarations.base_type( type_ ).decl_string ) + decl_string = self._normalize( declarations.base_type( type_ ).decl_string ) if not templates.is_instantiation( decl_string ): - return + return if not self._is_relevant( decl_string ): return insts = filter( lambda inst: self._is_relevant_inst( inst[0], inst[1] ) - , templates.split_recursive( decl_string ) ) + , templates.split_recursive( decl_string ) ) for smart_ptr, args in insts: - assert len( args ) == 1 + assert len( args ) == 1 pointee = self._normalize( args[0] ) if not db.has_key(pointee): db[ pointee ] = [] smart_ptr = self._normalize( smart_ptr ) if (smart_ptr, type_) not in db[pointee]: db[ pointee ].append( (smart_ptr, type_) ) - + def _find_smart_ptrs( self, db, class_decl ): decl_string = self._normalize( class_decl.decl_string ) if db.has_key( decl_string ): return db[ decl_string ] else: return None - + def create_holder( self, class_decl ): #holder should be created when we pass object created in python #as parameter to function in C++ that takes the smart pointer by reference found = self._find_smart_ptrs( self.__arguments_types, class_decl ) if not found: return None#not found or ambiguty - + held_type = None for smart_ptr, type_ in found: if declarations.is_reference( type_ ) and not declarations.is_const( type_.base ): @@ -122,7 +122,7 @@ if not held_type or 'shared_ptr' in smart_ptr: held_type = temp return held_type - + def _create_registrators_from_db( self, db, class_creator, registered ): spregistrator_t = code_creators.smart_pointer_registrator_t found = self._find_smart_ptrs( db, class_creator.declaration ) @@ -133,11 +133,14 @@ , registered ) if not already_registered: registered.append( spregistrator_t( smart_ptr=smart_ptr, class_creator=class_creator) ) - + def create_registrators( self, class_creator ): - """ Look for places where the class may be used as smart_ptr. - - If found then create smart_pointer_registrator_t for that class and ptr type. """ + looks for all places where the class may be used as smart pointer. + + If found, then creates :class:`code_creators.smart_pointer_registrator_t` + for that class and pointer type. + """ spconverter_t = code_creators.smart_pointers_converter_t registrators = [] dbs = [ self.__arguments_types, self.__return_types, self.__variables ] @@ -163,20 +166,20 @@ , target=class_creator.declaration ) answer.append( converter ) return answer - + def _print_single_db(self, db): for decl_string in db.keys(): print 'decl_string : ', decl_string for smart_ptr, type_ in db[ decl_string ]: print ' smart_ptr : ', smart_ptr print ' type_ : ', type_.decl_string - + def print_db( self ): dbs = [ self.__arguments_types, self.__return_types, self.__variables ] for db in dbs: self._print_single_db( db ) - + def _get_used_containers( self ): return self.__containers used_containers = property( _get_used_containers) - + Modified: pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/decl_wrappers/calldef_wrapper.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -14,7 +14,7 @@ from pyplusplus import function_transformers as ft class calldef_t(decl_wrapper.decl_wrapper_t): - """base class, for code generator configration, for function declaration classes.""" + """base class, for code generator configuration, for function declaration classes.""" BOOST_PYTHON_MAX_ARITY = 10 """Boost.Python configuration macro value. @@ -125,13 +125,14 @@ @property def non_overridable_reason( self ): - """returns the reason the function could not be overriden""" + """returns the reason the function could not be overridden""" return self._non_overridable_reason def mark_as_non_overridable( self, reason ): - """mark this function as non-overridable + """ + mark this function as final - user will not be able to override it from Python - Not all fucntions could be overrided from Python, for example virtual function + Not all functions could be overridden from Python, for example virtual function that returns non const reference to a member variable. `Py++` allows you to mark these functions and provide and explanation to the user. """ @@ -248,7 +249,7 @@ self._default_precall_code = [] def add_override_precall_code(self, code): - """add code, which should be executed, before overrided member function call""" + """add code, which should be executed, before overridden member function call""" self._override_precall_code.append( code ) @property Modified: pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/decl_wrappers/typedef_wrapper.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -12,7 +12,7 @@ """defines a set of properties, that will instruct `Py++` how to expose the typedef Today, `Py++` does not exposes typedefs, but this could be changed in future. - In C++, it is a common practises to give an aliases to the class. May be in + In C++, it is a common practices to give an aliases to the class. May be in future, `Py++` will generate code, that will register all those aliases. """ @@ -20,7 +20,7 @@ declarations.typedef_t.__init__(self, *arguments, **keywords ) decl_wrapper.decl_wrapper_t.__init__( self ) self.__is_directive = None - + @property def is_directive( self ): if None is self.__is_directive: Modified: pyplusplus_dev/pyplusplus/file_writers/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/__init__.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/file_writers/__init__.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -4,16 +4,7 @@ # http://www.boost.org/LICENSE_1_0.txt) """ -This package contains few classes, that writes L{code_creators.module_t} to files. - -Right now 3 strategies were implemented: - - 1. All code is written in one file - - 2. Classic strategy of deviding classes to files: one class in one header + source files. - - 2.1 Huge classes are splitten to few source files. - +This package contains few classes, which write :class:`code_creators.module_t` to files. """ import types @@ -47,7 +38,7 @@ return mfs.written_files def write_balanced_files( extmodule, dir_path, number_of_buckets, files_sum_repository=None, encoding='ascii' ): - """writes extmodule to fixed number of multiple cpp files""" + """writes extmodule to fixed number of multiple .cpp files""" mfs = balanced_files_t( extmodule, dir_path, number_of_buckets, files_sum_repository=files_sum_repository, encoding=encoding ) mfs.write() return mfs.written_files Modified: pyplusplus_dev/pyplusplus/file_writers/balanced_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/balanced_files.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/file_writers/balanced_files.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -3,7 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""defines a class that writes L{code_creators.bpmodule_t} to multiple files""" +"""defines a class that writes :class:`code_creators.bpmodule_t` to multiple files""" import os import math @@ -34,7 +34,7 @@ """Constructor. :param extmodule: The root of a code creator tree - :type extmodule: bpmodule_t + :type extmodule: :class:`code_creators.bpmodule_t` :param directory_path: The output directory where the source files are written :type directory_path: str @@ -48,15 +48,15 @@ def split_classes( self ): class_creators = filter( lambda x: isinstance(x, ( code_creators.class_t, code_creators.class_declaration_t ) ) , self.extmodule.body.creators ) - - class_creators = filter( lambda cc: not cc.declaration.already_exposed + + class_creators = filter( lambda cc: not cc.declaration.already_exposed , class_creators ) - - buckets = split_sequence(class_creators, len(class_creators)/self.number_of_buckets ) + + buckets = split_sequence(class_creators, len(class_creators)/self.number_of_buckets ) if len(buckets) > self.number_of_buckets: buckets[len(buckets)-2] += buckets[len(buckets)-1] - buckets = buckets[:len(buckets)-1] - + buckets = buckets[:len(buckets)-1] + for index, bucket in enumerate( buckets ): self.split_creators( bucket , '_classes_%d' % (index+1) Modified: pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/file_writers/class_multiple_files.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -3,7 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""defines a class that writes L{code_creators.bpmodule_t} to multiple files, the class +"""defines a class that writes :class:`code_creators.bpmodule_t` to multiple files, the class also splits huge C++ classes to few source files """ @@ -24,7 +24,7 @@ 2. pyplusplus will generate wrapper header - header that will contain code generated for class wrappers classes h/cpp - will contain registration code for internal classes - memfun h/cpp - will contain registration code for member functions + `memfun` h/cpp - will contain registration code for member functions alias + _main h/cpp this class will contain main registration function. """ @@ -69,7 +69,7 @@ creators = [class_creator] if class_creator.wrapper: creators.append( class_creator.wrapper ) - + answer.append( self.create_include_code( creators ) ) answer.append( '' ) answer.append( self.create_namespaces_code( creators ) ) Modified: pyplusplus_dev/pyplusplus/file_writers/multiple_files.py =================================================================== --- pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/file_writers/multiple_files.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -3,7 +3,7 @@ # accompanying file LICENSE_1_0.txt or copy at # http://www.boost.org/LICENSE_1_0.txt) -"""defines a class that writes L{code_creators.bpmodule_t} to multiple files""" +"""defines a class that writes :class:`code_creators.bpmodule_t` to multiple files""" import os import writer @@ -117,8 +117,6 @@ :param file_name: A string that uniquely identifies the file name :type file_name: str - :param function_name: The name of the register_xyz() function - :type function_name: str :rtype: str """ tmpl = os.linesep.join([ @@ -221,10 +219,12 @@ :param file_name: The base name of the corresponding include file (without extension) :type file_name: str - :param function_name: The name of the register_xyz() function + + :param function_name: "register" function name :type function_name: str - :param creators: The code creators that create the register_xyz() function - :type creators: list of code_creator_t + + :param creators: "register" function code creators + :type creators: list of :class:`code_creators.code_creator_t` :rtype: str """ declaration_creators = [] @@ -334,12 +334,15 @@ """Write non-class creators into a particular .h/.cpp file. :param creators: The code creators that should be written - :type creators: list of code_creator_t + :type creators: list of :class:`code_creators.code_creator_t` + :param pattern: Name pattern that is used for constructing the final output file name :type pattern: str - :param function_name: The name of the register_xyz() function + + :param function_name: "register" function name :type function_name: str - :param registrator_pos: The position of the code creator that creates the code to invoke the register_xyz() function. + + :param registrator_pos: The position of the code creator that creates the code to invoke the "register" function. :type registrator_pos: int """ if not creators: @@ -385,17 +388,18 @@ creators = filter( lambda x: isinstance(x, free_functions ), self.extmodule.body.creators ) self.split_creators( creators, '_free_functions', 'register_free_functions', -1 ) - #TODO: move write_main to __init__ def write(self): - """ Write out the module. - Creates a separate source/header combo for each class and for enums, globals, - and free functions. - If write_main is True it writes out a main file that calls all the registration methods. - After this call split_header_names and split_method_names will contain - all the header files and registration methods used. This can be used by - user code to create custom registration methods if main is not written. """ + writes out the module. + Creates a separate source/header combo for each class and for enumerations, + globals and free functions. + If :meth:`write_main` is True it writes out a main file that calls all the registration methods. + After this call :meth:`split_header_names` and :meth:`split_method_names` + will contain all the header files and registration methods used. This + can be used by user code to create custom registration methods if main is not written. + """ + self.write_code_repository( self.__directory_path ) self.save_exposed_decls_db( self.__directory_path ) Modified: pyplusplus_dev/pyplusplus/function_transformers/__init__.py =================================================================== --- pyplusplus_dev/pyplusplus/function_transformers/__init__.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/function_transformers/__init__.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -1,21 +1,7 @@ # Helper classes for wrapper function creation -"""This sub-package provides text substitution services for creating C++ functions. +"""This sub-package implements function transformation functionality""" -The helper classes in this package are meant to be used by the actual -calldef code creators (that are not part of this sub-package). They -implement the core of the "arg policy" mechanism which can be used by -a user to modify the source code for a function. - -The main class of this sub-package is the class L{substitution_manager_t}. This -class maintains two sets of special variables, one for the wrapper function -and one for the virtual function, and provides text substitution services. -The variables contain parts of source code that can be inserted into the -function source code template which is generated by the user of the class. - - -""" - from transformer import transformer_t import transformers from function_transformation import function_transformation_t Modified: pyplusplus_dev/pyplusplus/function_transformers/transformer.py =================================================================== --- pyplusplus_dev/pyplusplus/function_transformers/transformer.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/function_transformers/transformer.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -14,15 +14,15 @@ class transformer_t(object): """Base class for a function transformer.""" - + USE_1_BASED_INDEXING = False - + def __init__(self, function): """:param function: reference to function declaration""" object.__init__( self ) self.__function = function - @property + @property def function( self ): """reference to the function, for which a wrapper will be generated""" return self.__function @@ -33,7 +33,7 @@ def get_argument( self, reference ): """returns reference to the desired argument - + :param reference: name( str ) or index( int ) of the argument """ if isinstance( reference, str ): @@ -49,9 +49,9 @@ def get_type( self, reference ): """returns type of the desired argument or return type of the function - + :param reference: name( str ) or index( int ) of the argument - """ + """ global return_ if isinstance( reference, int ) and reference == return_: return self.function.return_type @@ -59,35 +59,36 @@ return self.get_argument( reference ).type def configure_mem_fun( self, controller ): - """Transformers should overridde the method, in order to define custom + """Transformers should override the method, in order to define custom transformation for non-virtual member function. - - :param controller: instance of L{mem_fun_controller_t} class + + :param controller: instance of :class:`mem_fun_controller_t` class """ raise NotImplementedError(self.__class__.__name__) - + def configure_free_fun( self, controller ): - """Transformers should overridde the method, in order to define custom + """ + transformers should override the method, in order to define custom transformation for free function. - + :param controller: instance of L{free_fun_controller_t} class - """ + """ raise NotImplementedError(self.__class__.__name__) - + def configure_virtual_mem_fun( self, controller ): - """Transformers should overridde the method, in order to define custom + """Transformers should override the method, in order to define custom transformation for virtual member function. - - :param controller: instance of L{virtual_mem_fun_controller_t} class - """ + + :param controller: instance of :class:`virtual_mem_fun_controller_t` class + """ raise NotImplementedError(self.__class__.__name__) #TODO: FT for constructor #~ def configure_constructor( self, controller ): - #~ """Transformers should overridde the method, in order to define custom + #~ """Transformers should override the method, in order to define custom #~ transformation for constructor. - + #~ :param controller: instance of L{constructor_controller_t} class - #~ """ + #~ """ #~ raise NotImplementedError(self.__class__.__name__) - + Modified: pyplusplus_dev/pyplusplus/function_transformers/transformers.py =================================================================== --- pyplusplus_dev/pyplusplus/function_transformers/transformers.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/function_transformers/transformers.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -5,17 +5,8 @@ # # Initial author: Matthias Baas -"""This module contains the standard argument policy objects. +"""defines few argument transformation classes""" -The following policies are available: - - - L{output_t} - - L{input_t} - - L{inout_t} - - L{input_array_t} - - L{output_array_t} - - L{type_modifier_t} -""" import os import string import transformer @@ -56,7 +47,7 @@ The specified argument must be a reference or a pointer. - :param arg_ref: Index of the argument that is an output value (the first arg has index 1). + :param arg_ref: Index of the argument that is an output value. :type arg_ref: int """ self.arg = self.get_argument( arg_ref ) @@ -155,15 +146,12 @@ The reference on the specified variable is removed. - void setValue(int& v) -> setValue(v) + void set_value(int& v) -> void set_value(int v) """ def __init__(self, function, arg_ref): - """Constructor. - - The specified argument must be a reference or a pointer. - - :param idx: Index of the argument that is an output value (the first arg has index 1). + """ + :param idx: Index of the argument that is an output value. :type idx: int """ type_modifier_t.__init__( self, function, arg_ref, remove_ref_or_ptr ) @@ -180,10 +168,9 @@ """Handles a single input variable. Replaces the actual argument type with some integral type, so you - can use ctypes package. + could use :mod:`ctypes` package. - void do_smth(int** image) -> do_smth(unsigned int addressof_image) - + void do_something(int** image) -> do_something(unsigned int image_address) """ def __init__(self, function, arg_ref): @@ -191,7 +178,7 @@ The specified argument must be a reference or a pointer. - :param idx: Index of the argument that is an output value (the first arg has index 1). + :param idx: Index of the argument that is an output value. :type idx: int """ modifier = lambda type_: declarations.FUNDAMENTAL_TYPES[ 'unsigned int' ] @@ -204,11 +191,10 @@ def __str__(self): return "from_address(%s)"%(self.arg.name) -# inout_t class inout_t(transformer.transformer_t): """Handles a single input/output variable. - void foo(int& v) -> v = foo(v) + void do_something(int& v) -> v = do_something(v) """ def __init__(self, function, arg_ref): @@ -216,7 +202,7 @@ The specified argument must be a reference or a pointer. - :param idx: Index of the argument that is an in/out value (the first arg has index 1). + :param idx: Index of the argument that is an in/out value :type idx: int """ transformer.transformer_t.__init__( self, function ) @@ -276,8 +262,9 @@ class input_static_array_t(transformer.transformer_t): """Handles an input array with fixed size. - void setVec3(double* v) -> setVec3(object v) - # v must be a sequence of 3 floats + void do_something(double* v) -> do_something(object v2) + + where v2 is a Python sequence """ def __init__(self, function, arg_ref, size): @@ -360,7 +347,7 @@ def __init__(self, function, arg_ref, size): """Constructor. - :param idx: Index of the argument that is an output array (the first arg has index 1). + :param idx: Index of the argument that is an output array. :type idx: int :param size: The fixed size of the output array :type size: int @@ -441,7 +428,7 @@ class input_c_buffer_t(transformer.transformer_t): - """Handles an input of C buffere: + """handles an input of C buffer: void write( byte *buffer, int size ) -> void write( python sequence ) """ Modified: pyplusplus_dev/pyplusplus/module_builder/boost_python_builder.py =================================================================== --- pyplusplus_dev/pyplusplus/module_builder/boost_python_builder.py 2009-02-08 08:23:25 UTC (rev 1661) +++ pyplusplus_dev/pyplusplus/module_builder/boost_python_builder.py 2009-02-08 13:53:58 UTC (rev 1662) @@ -67,7 +67,7 @@ :param gccxml_config: instance of pygccxml.parser.config_t class, holds gccxml( compiler ) configuration. You can use this argument instead of - passing the compiler configuration separatly. + passing the compiler configuration separately. """ module_builder.module_builder_t.__init__( self, global_ns=None, encoding=encoding ) @@ -247,7 +247,7 @@ @property def code_creator( self ): - "reference to L{code_creators.bpmodule_t} instance" + "reference to :class:`code_creators.bpmodule_t` instance" if not self.__code_creator: raise RuntimeError( "self.module is equal to None. Did you forget to call build_code_creator function?" ) return self.__code_creator Modified: sphinx/ignore_dictionary.txt =================================================================== --- sphinx/ignore_dictionary.txt 2009-02-08 08:23:25 UTC (rev 1661) +++ sphinx/ignore_dictionary.txt 2009-02-08 13:53:58 UTC (rev 1662) @@ -27,3 +27,15 @@ gcc noncopyable Bierbaum +ctypes +dll +cpp +pdb +bsc +undecorate +Beltrame +Kunstleve +Grosse +msvc +demangle +demangled This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-09 11:16:11
|
Revision: 1665 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1665&view=rev Author: roman_yakovenko Date: 2009-02-09 11:16:07 +0000 (Mon, 09 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/templates.py pygccxml_dev/pygccxml/declarations/type_traits.py sphinx/conf.py Modified: pygccxml_dev/pygccxml/declarations/templates.py =================================================================== --- pygccxml_dev/pygccxml/declarations/templates.py 2009-02-09 09:48:27 UTC (rev 1664) +++ pygccxml_dev/pygccxml/declarations/templates.py 2009-02-09 11:16:07 UTC (rev 1665) @@ -6,13 +6,14 @@ """ template instantiation parser -This module implements all functionality necessary to parse C++ template -instantiations.In other words this module is able to extract next information from -the string like this `std::vector<int>`. - - name ( `std::vector` ) - - list of arguments ( `int` ) +This module provides functionality necessary to -This module also defines few convenience function like :func:split and :func:join. +* :func:`parse <pygccxml.declarations.templates.parse>` +* :func:`split <pygccxml.declarations.templates.split>` +* :func:`join <pygccxml.declarations.templates.join>` +* :func:`normalize <pygccxml.declarations.templates.normalize>` + +C++ template instantiations """ import pattern_parser Modified: pygccxml_dev/pygccxml/declarations/type_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-09 09:48:27 UTC (rev 1664) +++ pygccxml_dev/pygccxml/declarations/type_traits.py 2009-02-09 11:16:07 UTC (rev 1665) @@ -4,15 +4,17 @@ # http://www.boost.org/LICENSE_1_0.txt) """ -defines few algorithms, that deals with different properties of C++ types +defines few algorithms, that deals with different C++ type properties -Do you aware of boost::type_traits library? pygccxml has functionality similar to -it. Using functions defined in this module you can - - find out some properties of the type - - modify type +Do you aware of `boost::type_traits <http://www.boost.org/doc/libs/1_37_0/libs/type_traits/doc/html/boost_typetraits/intro.html>`_ +library? pygccxml implements the same functionality. -Those functions are very valuable for code generation. Almost all functions -within this module works on :class:`type_t` class hierarchy and\\or :class:class_t. +This module contains a set of very specific traits functions\\classes, each of +which encapsulate a single trait from the C++ type system. For example: +* is a type a pointer or a reference type ? +* does a type have a trivial constructor ? +* does a type have a const-qualifier ? + """ import os @@ -891,7 +893,7 @@ def is_defined_in_xxx( xxx, cls ): """ small helper function, that checks whether the class `cls` is defined under `::xxx` namespace - """ + """ if not cls.parent: return False Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-09 09:48:27 UTC (rev 1664) +++ sphinx/conf.py 2009-02-09 11:16:07 UTC (rev 1665) @@ -48,13 +48,16 @@ else: shutil.copy( os.path.join( project_root, 'index.rest' ), doc_project_root ) -import pydsc -#report errors related to the project only -pydsc.include_paths( project_root ) -pydsc.ignore_dictionary( 'ignore_dictionary.txt' ) -pydsc.set_text_preprocessor( pydsc.sphinx_preprocessor ) -import pygccxml -import pyplusplus +try: + import pydsc + #report errors related to the project only + pydsc.include_paths( project_root ) + pydsc.ignore_dictionary( 'ignore_dictionary.txt' ) + pydsc.set_text_preprocessor( pydsc.sphinx_preprocessor ) + import pygccxml + import pyplusplus +except: + pass #it is possible that pyenchant is not installed # General configuration This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-09 12:22:16
|
Revision: 1666 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1666&view=rev Author: roman_yakovenko Date: 2009-02-09 11:29:59 +0000 (Mon, 09 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/pygccxml/parser/directory_cache.py pyplusplus_dev/pyplusplus/code_creators/ctypes_module.py Modified: pygccxml_dev/pygccxml/parser/directory_cache.py =================================================================== --- pygccxml_dev/pygccxml/parser/directory_cache.py 2009-02-09 11:16:07 UTC (rev 1665) +++ pygccxml_dev/pygccxml/parser/directory_cache.py 2009-02-09 11:29:59 UTC (rev 1666) @@ -6,11 +6,13 @@ # The initial version of the directory_cache_t class was written # by Matthias Baas (ba...@ir...). -"""Directory cache implementation. +""" +directory cache implementation. This module contains the implementation of a cache that uses individual -files stored in a dedicated cache directory to store the cached contents. -The cache class is :class:`parser.directory_cache_t` which can be passed as the `cache` +files, stored in a dedicated cache directory, to store the cached contents. + +The :class:`parser.directory_cache_t` class instance could be passed as the `cache` argument of the :func:`parser.parse` function. """ @@ -19,9 +21,10 @@ import declarations_cache class index_entry_t: - """Entry of the index table in the directory cache index. + """ + Entry of the index table in the directory cache index. - Each cached header file (i.e. each *.cache file) has a corresponding + Each cached header file (i.e. each .cache file) has a corresponding index_entry_t object. This object is used to determine whether the cache file with the declarations is still valid or not. @@ -48,9 +51,9 @@ The cache stores one index file called `index.dat` which is always read by the cache when the cache object is created. Each header file - will have its corresponding *.cache file that stores the declarations + will have its corresponding .cache file that stores the declarations found in the header file. The index file is used to determine whether - a *.cache file is still valid or not (by checking if one of the dependent + a .cache file is still valid or not (by checking if one of the dependent files (i.e. the header file itself and all included files) have been modified since the last run). """ Modified: pyplusplus_dev/pyplusplus/code_creators/ctypes_module.py =================================================================== --- pyplusplus_dev/pyplusplus/code_creators/ctypes_module.py 2009-02-09 11:16:07 UTC (rev 1665) +++ pyplusplus_dev/pyplusplus/code_creators/ctypes_module.py 2009-02-09 11:29:59 UTC (rev 1666) @@ -5,7 +5,6 @@ import os import module -import import_ import library_reference from pygccxml import utils This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-11 09:34:35
|
Revision: 1671 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1671&view=rev Author: roman_yakovenko Date: 2009-02-11 09:34:27 +0000 (Wed, 11 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/docs/design.rest pygccxml_dev/docs/query_interface.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py pyplusplus_dev/pyplusplus/messages/warnings_.py sphinx/conf.py Added Paths: ----------- sphinx/check_links.bat Removed Paths: ------------- developer_scripts/check_links.bat Deleted: developer_scripts/check_links.bat =================================================================== --- developer_scripts/check_links.bat 2009-02-10 21:14:30 UTC (rev 1670) +++ developer_scripts/check_links.bat 2009-02-11 09:34:27 UTC (rev 1671) @@ -1,3 +0,0 @@ -cd D:\dev\language-binding\production\www\ -E:\Python25\Scripts\linkchecker.bat --no-warnings index.html - Modified: pygccxml_dev/docs/design.rest =================================================================== --- pygccxml_dev/docs/design.rest 2009-02-10 21:14:30 UTC (rev 1670) +++ pygccxml_dev/docs/design.rest 2009-02-11 09:34:27 UTC (rev 1671) @@ -282,7 +282,7 @@ .. _`SourceForge`: http://sourceforge.net/index.php .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. _`UML diagram` : ./declarations_uml.png -.. _`parser package UML diagram` : ./parser_uml.png +.. _`UML diagram` : declarations_uml.png +.. _`parser package UML diagram` : parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html Modified: pygccxml_dev/docs/query_interface.rest =================================================================== --- pygccxml_dev/docs/query_interface.rest 2009-02-10 21:14:30 UTC (rev 1670) +++ pygccxml_dev/docs/query_interface.rest 2009-02-11 09:34:27 UTC (rev 1671) @@ -289,7 +289,7 @@ .. _`SourceForge`: http://sourceforge.net/index.php .. _`Python`: http://www.python.org .. _`GCC-XML`: http://www.gccxml.org -.. _`UML diagram` : ./declarations_uml.png -.. _`parser package UML diagram` : ./parser_uml.png +.. _`UML diagram` : declarations_uml.png +.. _`parser package UML diagram` : parser_uml.png .. _`ReleaseForge` : http://releaseforge.sourceforge.net .. _`boost::type_traits` : http://www.boost.org/libs/type_traits/index.html Modified: pyplusplus_dev/docs/pyplusplus.rest =================================================================== --- pyplusplus_dev/docs/pyplusplus.rest 2009-02-10 21:14:30 UTC (rev 1670) +++ pyplusplus_dev/docs/pyplusplus.rest 2009-02-11 09:34:27 UTC (rev 1671) @@ -105,7 +105,7 @@ can find UML diagram of almost all code creators: `class diagram`_. .. _`AST`: http://en.wikipedia.org/wiki/Abstract_syntax_tree -.. _`class diagram`: ./code_creators_uml.png +.. _`class diagram`: code_creators_uml.png At the end of this step you have code creators tree, which is ready to be written to disc. Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2009-02-10 21:14:30 UTC (rev 1670) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2009-02-11 09:34:27 UTC (rev 1671) @@ -296,7 +296,7 @@ class memory_managers: """implements code generation for `Py++` defined memory managers - For complete documentation and usage example see http://language-binding.net/pyplusplus/documentation/functions/call_policies.html + For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` """ none = 'none' delete_ = 'delete_' @@ -312,7 +312,7 @@ class convert_array_to_tuple_t( compound_policy_t ): """implements code generation for `Py++` defined "as_tuple" value policy - For complete documentation and usage example see http://language-binding.net/pyplusplus/documentation/functions/call_policies.html + For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` """ def __init__( self, array_size, memory_manager, make_object_call_policies=None, base=None): compound_policy_t.__init__( self, base ) @@ -369,7 +369,7 @@ class return_range_t( call_policy_t ): """implements code generation for `Py++` defined "return_range" call policies - For complete documentation and usage example see http://language-binding.net/pyplusplus/documentation/functions/call_policies.html + For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` """ HEADER_FILE = "__return_range.pypp.hpp" def __init__( self, get_size_class, value_type, value_policies): Modified: pyplusplus_dev/pyplusplus/messages/warnings_.py =================================================================== --- pyplusplus_dev/pyplusplus/messages/warnings_.py 2009-02-10 21:14:30 UTC (rev 1670) +++ pyplusplus_dev/pyplusplus/messages/warnings_.py 2009-02-11 09:34:27 UTC (rev 1671) @@ -85,8 +85,7 @@ W1010 = execution_error( 'The function introduces registration order problem. ' - 'For more information about the problem read next document: ' - 'http://language-binding.net/pyplusplus/documentation/functions/registration_order.html ' + 'For more information about the problem read "registration order" document.' 'Problematic functions list: %s' ) W1011 = warning( "`Py++` doesn't export private not virtual functions." ) @@ -206,8 +205,7 @@ W1050 = compilation_error( 'The function returns "%s" type. You have to specify a call policies.' - 'Be sure to take a look on `Py++` defined call policies: ' - 'http://language-binding.net/pyplusplus/documentation/functions/call_policies.html#py-defined-call-policies' ) + 'Be sure to take a look on `Py++` defined call policies' ) W1051 = warning( 'The function takes as argument (name=%s, pos=%d) "%s" type. ' Copied: sphinx/check_links.bat (from rev 1670, developer_scripts/check_links.bat) =================================================================== --- sphinx/check_links.bat (rev 0) +++ sphinx/check_links.bat 2009-02-11 09:34:27 UTC (rev 1671) @@ -0,0 +1,2 @@ +E:\Python25\Scripts\linkchecker.bat --no-warnings .\__build\index.html + Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-10 21:14:30 UTC (rev 1670) +++ sphinx/conf.py 2009-02-11 09:34:27 UTC (rev 1671) @@ -181,7 +181,7 @@ #html_split_index = False # If true, the reST sources are included in the HTML build as _sources/<name>. -#html_copy_source = True +html_copy_source = False # If true, an OpenSearch description file will be output, and all pages will # contain a <link> tag referring to it. The value of this option must be the @@ -228,6 +228,10 @@ # If false, no module index is generated. #latex_use_modindex = True +#If true, keep warnings as “system message” paragraphs in the built documents. +#Regardless of this setting, warnings are always written to the standard error +#stream when sphinx-build is run. +keep_warnings = True # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'http://docs.python.org/dev': None} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-12 09:15:11
|
Revision: 1674 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1674&view=rev Author: roman_yakovenko Date: 2009-02-12 09:15:05 +0000 (Thu, 12 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- pygccxml_dev/docs/pygccxml.rest pyplusplus_dev/docs/documentation/containers.rest pyplusplus_dev/docs/documentation/index.rest pyplusplus_dev/docs/pyplusplus.rest pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py sphinx/conf.py Added Paths: ----------- pyplusplus_dev/docs/documentation/indexing_suite_v2.html.rest Property Changed: ---------------- sphinx/ Modified: pygccxml_dev/docs/pygccxml.rest =================================================================== --- pygccxml_dev/docs/pygccxml.rest 2009-02-11 20:51:29 UTC (rev 1673) +++ pygccxml_dev/docs/pygccxml.rest 2009-02-12 09:15:05 UTC (rev 1674) @@ -1,6 +1,6 @@ -====================== -pygccxml documentation -====================== +================ +pygccxml package +================ .. meta:: :description: C++ declarations parser Modified: pyplusplus_dev/docs/documentation/containers.rest =================================================================== --- pyplusplus_dev/docs/documentation/containers.rest 2009-02-11 20:51:29 UTC (rev 1673) +++ pyplusplus_dev/docs/documentation/containers.rest 2009-02-12 09:15:05 UTC (rev 1674) @@ -35,7 +35,7 @@ containers. Well, actually he did much more - he implemented new framework. This framework provides support for almost all C++ containers and also an easy way to add support for custom ones. You'd better read his `post`_ to -`Boost.Python`_ mailing list or `documentation`_ for the new indexing suite. +`Boost.Python`_ mailing list or :doc:`documentation <indexing_suite_v2.html>` for the new indexing suite. Now, I am sure you have the following question: if this suite is so good, why it is not @@ -47,7 +47,6 @@ * http://mail.python.org/pipermail/c++-sig/2006-June/010835.html -.. _`documentation` : ./indexing_suite_v2.html .. _`post` : http://mail.python.org/pipermail/c++-sig/2003-October/005802.html @@ -192,5 +191,4 @@ .. _`Boost.Python`: http://www.boost.org/libs/python/doc/index.html .. _`Python`: http://www.python.org -.. _`GCC-XML`: http://www.gccxml.org Modified: pyplusplus_dev/docs/documentation/index.rest =================================================================== --- pyplusplus_dev/docs/documentation/index.rest 2009-02-11 20:51:29 UTC (rev 1673) +++ pyplusplus_dev/docs/documentation/index.rest 2009-02-12 09:15:05 UTC (rev 1674) @@ -38,9 +38,10 @@ properties.rest multi_module_development.rest containers.rest + indexing_suite_v2.html.rest doc_string.rest warnings.rest ctypes/ctypes_integration.rest how_to/how_to.rest apidocs/api.rest - + Added: pyplusplus_dev/docs/documentation/indexing_suite_v2.html.rest =================================================================== --- pyplusplus_dev/docs/documentation/indexing_suite_v2.html.rest (rev 0) +++ pyplusplus_dev/docs/documentation/indexing_suite_v2.html.rest 2009-02-12 09:15:05 UTC (rev 1674) @@ -0,0 +1,6 @@ +================= +Indexing Suite V2 +================= + +.. raw:: html + :file: indexing_suite_v2.html Modified: pyplusplus_dev/docs/pyplusplus.rest =================================================================== --- pyplusplus_dev/docs/pyplusplus.rest 2009-02-11 20:51:29 UTC (rev 1673) +++ pyplusplus_dev/docs/pyplusplus.rest 2009-02-12 09:15:05 UTC (rev 1674) @@ -1,6 +1,6 @@ -==================== -`Py++` introduction -==================== +============== +`Py++` package +============== ---------------- What is `Py++`? @@ -19,7 +19,7 @@ Code generation process ----------------------- -Code generation process, using `Py++` consists from few steps. The following +Code generation process, using `Py++` consists from few steps. The following paragraphs will tell you more about every step. @@ -89,10 +89,10 @@ It means that you don't have to change code generator source code every time. So far, so good what about second question? Well, by default `Py++` generates a -code that will satisfy almost all developers. `Py++` could be configured in many -ways to satisfy your needs. But sometimes this is still not enough. There are -use cases when you need full control over generated code. One of the biggest -problems, with code generators in general, is modifying generated code and +code that will satisfy almost all developers. `Py++` could be configured in many +ways to satisfy your needs. But sometimes this is still not enough. There are +use cases when you need full control over generated code. One of the biggest +problems, with code generators in general, is modifying generated code and preserving changes. How many code generators did you use or know, that allow you to put your code anywhere or to reorder generated code as you wish? `Py++` allows you to do that. @@ -171,7 +171,7 @@ .. toctree:: :maxdepth: 1 - + documentation/tutorials/tutorials.rest quotes.rest download.rest Modified: pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py =================================================================== --- pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2009-02-11 20:51:29 UTC (rev 1673) +++ pyplusplus_dev/pyplusplus/decl_wrappers/call_policies.py 2009-02-12 09:15:05 UTC (rev 1674) @@ -296,7 +296,7 @@ class memory_managers: """implements code generation for `Py++` defined memory managers - For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` + For complete documentation and usage example see "Call policies" document. """ none = 'none' delete_ = 'delete_' @@ -312,7 +312,7 @@ class convert_array_to_tuple_t( compound_policy_t ): """implements code generation for `Py++` defined "as_tuple" value policy - For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` + For complete documentation and usage example see "Call policies" document. """ def __init__( self, array_size, memory_manager, make_object_call_policies=None, base=None): compound_policy_t.__init__( self, base ) @@ -369,7 +369,7 @@ class return_range_t( call_policy_t ): """implements code generation for `Py++` defined "return_range" call policies - For complete documentation and usage example see :doc:`call policies document <pyplusplus/documentation/functions/call_policies/call_policies>` + For complete documentation and usage example see "Call policies" document. """ HEADER_FILE = "__return_range.pypp.hpp" def __init__( self, get_size_class, value_type, value_policies): Property changes on: sphinx ___________________________________________________________________ Modified: svn:ignore - __build pydsc pygccxml pyplusplus index.rest + __build pydsc pygccxml pyplusplus index.rest html_documentation Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-11 20:51:29 UTC (rev 1673) +++ sphinx/conf.py 2009-02-12 09:15:05 UTC (rev 1674) @@ -14,7 +14,7 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys, os, shutil +import sys, os, shutil, atexit # If your extensions are in another directory, add it here. If the directory # is relative to the documentation root, use os.path.abspath to make it @@ -24,7 +24,11 @@ project_root = os.path.abspath('..') doc_project_root = os.path.abspath('.') packages = ( 'pydsc', 'pygccxml', 'pyplusplus' ) +html_documentation_dir_name = 'html_documentation' +if html_documentation_dir_name not in str( sys.argv ): + raise RuntimeError( "\n\n\nThe documentation directory name should be: '%s'\n\n\n" % html_documentation_dir_name ) + has_true_links = 'linux' in sys.platform for pkg in packages: target = os.path.join( doc_project_root, pkg ) @@ -59,6 +63,13 @@ except: pass #it is possible that pyenchant is not installed +...@at...gister +def copy_indexing_suite_v2_files(): + source_dir = os.path.join( project_root, 'pyplusplus_dev', 'docs', 'documentation', 'indexing_suite_v2_files' ) + target_dir = os.path.join( doc_project_root, html_documentation_dir_name, 'pyplusplus', 'documentation', 'indexing_suite_v2_files' ) + if os.path.exists(target_dir): + shutil.rmtree(target_dir) + shutil.copytree( source_dir, target_dir, ignore=shutil.ignore_patterns( r'.svn' ) ) # General configuration # --------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-02-22 13:56:29
|
Revision: 1695 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1695&view=rev Author: roman_yakovenko Date: 2009-02-22 13:56:26 +0000 (Sun, 22 Feb 2009) Log Message: ----------- sphinx Modified Paths: -------------- index.rest pydsc_dev/docs/pydsc.rest pydsc_dev/pydsc.py pygccxml_dev/docs/apidocs/binary_parsers.rest pygccxml_dev/docs/apidocs/declarations.rest pygccxml_dev/docs/apidocs/parser.rest pygccxml_dev/docs/apidocs/utils.rest pygccxml_dev/pygccxml/declarations/container_traits.py pygccxml_dev/pygccxml/declarations/matchers.py pyplusplus_dev/docs/documentation/apidocs/_logging_.rest pyplusplus_dev/docs/documentation/apidocs/code_creators.rest pyplusplus_dev/docs/documentation/apidocs/code_repository/indexing_suite.rest pyplusplus_dev/docs/documentation/apidocs/code_repository.rest pyplusplus_dev/docs/documentation/apidocs/creators_factory.rest pyplusplus_dev/docs/documentation/apidocs/decl_wrappers.rest pyplusplus_dev/docs/documentation/apidocs/file_writers.rest pyplusplus_dev/docs/documentation/apidocs/function_transformers.rest pyplusplus_dev/docs/documentation/apidocs/messages.rest pyplusplus_dev/docs/documentation/apidocs/module_builder.rest pyplusplus_dev/docs/documentation/apidocs/utils.rest pyplusplus_dev/unittests/data/indexing_suites2_to_be_exported.hpp sphinx/conf.py Removed Paths: ------------- pydsc_dev/docs/api.rest Modified: index.rest =================================================================== --- index.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ index.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -39,11 +39,11 @@ ------------- .. toctree:: - :maxdepth: 2 + :maxdepth: 1 - pygccxml/pygccxml.rest - pyplusplus/pyplusplus.rest - pydsc/pydsc.rest + pygccxml documentation <pygccxml/pygccxml.rest> + Py++ documentation <pyplusplus/pyplusplus.rest> + pydsc documentation <pydsc/pydsc.rest> ------------------ Indices and tables Deleted: pydsc_dev/docs/api.rest =================================================================== --- pydsc_dev/docs/api.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pydsc_dev/docs/api.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -1,7 +0,0 @@ -========= -pydsc API -========= - -.. automodule:: pydsc - :members: - Modified: pydsc_dev/docs/pydsc.rest =================================================================== --- pydsc_dev/docs/pydsc.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pydsc_dev/docs/pydsc.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -66,10 +66,9 @@ API --- -.. toctree:: - :maxdepth: 1 +.. automodule:: pydsc + :undoc-members: + :members: - API <api> - .. _`PyEnchant`: http://pyenchant.sourceforge.net/ Modified: pydsc_dev/pydsc.py =================================================================== --- pydsc_dev/pydsc.py 2009-02-21 12:29:41 UTC (rev 1694) +++ pydsc_dev/pydsc.py 2009-02-22 13:56:26 UTC (rev 1695) @@ -86,9 +86,7 @@ """ initialization method - During this method, reference to __builtin__.__import__ function is - saved in one of the members of the class, and replaced with import_ - member function. + replaces :func:`__builtin__.__import__` function with :meth:`checker_t.import_` :param speller: reference to enchant.checker.SpellChecker object :type speller: enchant.checker.SpellChecker Modified: pygccxml_dev/docs/apidocs/binary_parsers.rest =================================================================== --- pygccxml_dev/docs/apidocs/binary_parsers.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/docs/apidocs/binary_parsers.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pygccxml.binary_parsers :members: + :undoc-members: :show-inheritance: -------- @@ -19,4 +20,5 @@ .. automodule:: pygccxml.binary_parsers.parsers :members: + :undoc-members: :show-inheritance: Modified: pygccxml_dev/docs/apidocs/declarations.rest =================================================================== --- pygccxml_dev/docs/apidocs/declarations.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/docs/apidocs/declarations.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pygccxml.declarations :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pygccxml.declarations.algorithm :members: + :undoc-members: :show-inheritance: algorithms_cache @@ -26,6 +28,7 @@ .. automodule:: pygccxml.declarations.algorithms_cache :members: + :undoc-members: :show-inheritance: calldef @@ -33,6 +36,7 @@ .. automodule:: pygccxml.declarations.calldef :members: + :undoc-members: :show-inheritance: call_invocation @@ -40,6 +44,7 @@ .. automodule:: pygccxml.declarations.call_invocation :members: + :undoc-members: :show-inheritance: class_declaration @@ -47,6 +52,7 @@ .. automodule:: pygccxml.declarations.class_declaration :members: + :undoc-members: :show-inheritance: compilers @@ -54,6 +60,7 @@ .. automodule:: pygccxml.declarations.compilers :members: + :undoc-members: :show-inheritance: container_traits @@ -61,6 +68,7 @@ .. automodule:: pygccxml.declarations.container_traits :members: + :undoc-members: :show-inheritance: cpptypes @@ -68,6 +76,7 @@ .. automodule:: pygccxml.declarations.cpptypes :members: + :undoc-members: :show-inheritance: declaration @@ -75,6 +84,7 @@ .. automodule:: pygccxml.declarations.declaration :members: + :undoc-members: :show-inheritance: decl_factory @@ -82,6 +92,7 @@ .. automodule:: pygccxml.declarations.decl_factory :members: + :undoc-members: :show-inheritance: decl_printer @@ -89,6 +100,7 @@ .. automodule:: pygccxml.declarations.decl_printer :members: + :undoc-members: :show-inheritance: decl_visitor @@ -96,6 +108,7 @@ .. automodule:: pygccxml.declarations.decl_visitor :members: + :undoc-members: :show-inheritance: dependencies @@ -103,6 +116,7 @@ .. automodule:: pygccxml.declarations.dependencies :members: + :undoc-members: :show-inheritance: enumeration @@ -110,6 +124,7 @@ .. automodule:: pygccxml.declarations.enumeration :members: + :undoc-members: :show-inheritance: function_traits @@ -117,6 +132,7 @@ .. automodule:: pygccxml.declarations.function_traits :members: + :undoc-members: :show-inheritance: matcher @@ -124,6 +140,7 @@ .. automodule:: pygccxml.declarations.matcher :members: + :undoc-members: :show-inheritance: matchers @@ -131,6 +148,7 @@ .. automodule:: pygccxml.declarations.matchers :members: + :undoc-members: :show-inheritance: mdecl_wrapper @@ -138,6 +156,7 @@ .. automodule:: pygccxml.declarations.mdecl_wrapper :members: + :undoc-members: :show-inheritance: namespace @@ -145,6 +164,7 @@ .. automodule:: pygccxml.declarations.namespace :members: + :undoc-members: :show-inheritance: scopedef @@ -152,6 +172,7 @@ .. automodule:: pygccxml.declarations.scopedef :members: + :undoc-members: :show-inheritance: templates @@ -159,6 +180,7 @@ .. automodule:: pygccxml.declarations.templates :members: + :undoc-members: :show-inheritance: typedef @@ -166,6 +188,7 @@ .. automodule:: pygccxml.declarations.typedef :members: + :undoc-members: :show-inheritance: type_traits @@ -173,6 +196,7 @@ .. automodule:: pygccxml.declarations.type_traits :members: + :undoc-members: :show-inheritance: type_visitor @@ -180,6 +204,7 @@ .. automodule:: pygccxml.declarations.type_visitor :members: + :undoc-members: :show-inheritance: variable @@ -187,5 +212,6 @@ .. automodule:: pygccxml.declarations.variable :members: + :undoc-members: :show-inheritance: Modified: pygccxml_dev/docs/apidocs/parser.rest =================================================================== --- pygccxml_dev/docs/apidocs/parser.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/docs/apidocs/parser.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pygccxml.parser :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pygccxml.parser.config :members: + :undoc-members: :show-inheritance: declarations_cache @@ -26,6 +28,7 @@ .. automodule:: pygccxml.parser.declarations_cache :members: + :undoc-members: :show-inheritance: directory_cache @@ -33,6 +36,7 @@ .. automodule:: pygccxml.parser.directory_cache :members: + :undoc-members: :show-inheritance: patcher @@ -40,6 +44,7 @@ .. automodule:: pygccxml.parser.patcher :members: + :undoc-members: :show-inheritance: project_reader @@ -47,6 +52,7 @@ .. automodule:: pygccxml.parser.project_reader :members: + :undoc-members: :show-inheritance: @@ -55,4 +61,5 @@ .. automodule:: pygccxml.parser.source_reader :members: + :undoc-members: :show-inheritance: Modified: pygccxml_dev/docs/apidocs/utils.rest =================================================================== --- pygccxml_dev/docs/apidocs/utils.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/docs/apidocs/utils.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pygccxml.utils :members: + :undoc-members: :show-inheritance: -------- @@ -19,5 +20,6 @@ .. automodule:: pygccxml.utils.fs_utils :members: + :undoc-members: :show-inheritance: Modified: pygccxml_dev/pygccxml/declarations/container_traits.py =================================================================== --- pygccxml_dev/pygccxml/declarations/container_traits.py 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/pygccxml/declarations/container_traits.py 2009-02-22 13:56:26 UTC (rev 1695) @@ -243,16 +243,16 @@ class container_traits_impl_t: - """this class implements the functionality needed for convenient work with - STD container classes. + """ + implements the functionality needed for convenient work with STD container classes Implemented functionality: - - find out whether a declaration is STD container or not - - find out container value( mapped ) type + * find out whether a declaration is STD container or not + * find out container value( mapped ) type This class tries to be useful as much, as possible. For example, for class declaration( and not definition ) it parsers the class name in order to - extract all the information. + extract the information. """ def __init__( self , container_name @@ -262,12 +262,11 @@ , key_type_index=None , key_type_typedef=None ): """ - container_name - std container name - element_type_index - position of value\\mapped type within template - arguments list - element_type_typedef - class typedef to the value\\mapped type - key_type_index - position of key type within template arguments list - key_type_typedef - class typedef to the key type + :param container_name: std container name + :param element_type_index: position of value\\mapped type within template arguments list + :param element_type_typedef: class typedef to the value\\mapped type + :param key_type_index: position of key type within template arguments list + :param key_type_typedef: class typedef to the key type """ self._name = container_name self.remove_defaults_impl = defaults_remover @@ -353,12 +352,18 @@ , 'container_key_type' ) def remove_defaults( self, type_or_string ): - """remove template defaults from a template class instantiation + """ + removes template defaults from a template class instantiation For example: - std::vector< int, std::allocator< int > > + .. code-block:: c++ + + std::vector< int, std::allocator< int > > + will become - std::vector< int > + .. code-block:: c++ + + std::vector< int > """ name = type_or_string if not isinstance( type_or_string, types.StringTypes ): Modified: pygccxml_dev/pygccxml/declarations/matchers.py =================================================================== --- pygccxml_dev/pygccxml/declarations/matchers.py 2009-02-21 12:29:41 UTC (rev 1694) +++ pygccxml_dev/pygccxml/declarations/matchers.py 2009-02-22 13:56:26 UTC (rev 1695) @@ -321,10 +321,10 @@ class calldef_matcher_t( declaration_matcher_t ): """ - Instance of this class will match callable by next criteria: - - :class:`declaration_matcher_t` criteria - - return type. Example: :class:`int_t` or 'int' - - argument types + Instance of this class will match callable by the following criteria: + * :class:`declaration_matcher_t` criteria + * return type. For example: :class:`int_t` or 'int' + * argument types """ def __init__( self, name=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None): @@ -407,8 +407,8 @@ class operator_matcher_t( calldef_matcher_t ): """ Instance of this class will match operators by next criteria: - - :class:`calldef_matcher_t` criteria - - operator symbol: =, !=, (), [] and etc + * :class:`calldef_matcher_t` criteria + * operator symbol: =, !=, (), [] and etc """ def __init__( self, name=None, symbol=None, return_type=None, arg_types=None, decl_type=None, header_dir=None, header_file=None): """ @@ -479,14 +479,13 @@ """ Instance of this class will match declaration by its access type: public, private or protected. If declarations does not have access type, for example - free function, then False will be returned. + free function, then `False` will be returned. """ def __init__( self, access_type ): """ - :param access_type: declaration access type - :type access_type: :class:ACCESS_TYPES defines few constants for your convenience. - Any way you can pass public, private or protected as argument to this function + :param access_type: declaration access type, could be "public", "private", "protected" + :type access_type: :class: `str` """ matcher_base_t.__init__( self ) self.access_type = access_type Modified: pyplusplus_dev/docs/documentation/apidocs/_logging_.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/_logging_.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/_logging_.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus._logging_ :members: + :undoc-members: :show-inheritance: -------- @@ -19,4 +20,5 @@ .. automodule:: pyplusplus._logging_.multi_line_formatter :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/code_creators.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/code_creators.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/code_creators.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.code_creators :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.code_creators.algorithm :members: + :undoc-members: :show-inheritance: array_1_registrator @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.code_creators.array_1_registrator :members: + :undoc-members: :show-inheritance: bookmark @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.code_creators.bookmark :members: + :undoc-members: :show-inheritance: calldef @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.code_creators.calldef :members: + :undoc-members: :show-inheritance: calldef_ctypes @@ -47,6 +52,7 @@ .. automodule:: pyplusplus.code_creators.calldef_ctypes :members: + :undoc-members: :show-inheritance: calldef_transformed @@ -54,6 +60,7 @@ .. automodule:: pyplusplus.code_creators.calldef_transformed :members: + :undoc-members: :show-inheritance: calldef_utils @@ -61,6 +68,7 @@ .. automodule:: pyplusplus.code_creators.calldef_utils :members: + :undoc-members: :show-inheritance: class_declaration @@ -68,6 +76,7 @@ .. automodule:: pyplusplus.code_creators.class_declaration :members: + :undoc-members: :show-inheritance: code_creator @@ -75,6 +84,7 @@ .. automodule:: pyplusplus.code_creators.code_creator :members: + :undoc-members: :show-inheritance: compound @@ -82,6 +92,7 @@ .. automodule:: pyplusplus.code_creators.compound :members: + :undoc-members: :show-inheritance: ctypes_formatter @@ -89,6 +100,7 @@ .. automodule:: pyplusplus.code_creators.ctypes_formatter :members: + :undoc-members: :show-inheritance: ctypes_integration_creators @@ -96,6 +108,7 @@ .. automodule:: pyplusplus.code_creators.ctypes_integration_creators :members: + :undoc-members: :show-inheritance: ctypes_module @@ -103,6 +116,7 @@ .. automodule:: pyplusplus.code_creators.ctypes_module :members: + :undoc-members: :show-inheritance: custom @@ -110,6 +124,7 @@ .. automodule:: pyplusplus.code_creators.custom :members: + :undoc-members: :show-inheritance: declaration_based @@ -117,6 +132,7 @@ .. automodule:: pyplusplus.code_creators.declaration_based :members: + :undoc-members: :show-inheritance: embedded_code_repository @@ -124,6 +140,7 @@ .. automodule:: pyplusplus.code_creators.embedded_code_repository :members: + :undoc-members: :show-inheritance: enum @@ -131,6 +148,7 @@ .. automodule:: pyplusplus.code_creators.enum :members: + :undoc-members: :show-inheritance: exception_translator @@ -138,6 +156,7 @@ .. automodule:: pyplusplus.code_creators.exception_translator :members: + :undoc-members: :show-inheritance: global_variable @@ -145,6 +164,7 @@ .. automodule:: pyplusplus.code_creators.global_variable :members: + :undoc-members: :show-inheritance: include @@ -152,6 +172,7 @@ .. automodule:: pyplusplus.code_creators.include :members: + :undoc-members: :show-inheritance: include_directories @@ -159,6 +180,7 @@ .. automodule:: pyplusplus.code_creators.include_directories :members: + :undoc-members: :show-inheritance: indexing_suites @@ -166,6 +188,7 @@ .. automodule:: pyplusplus.code_creators.indexing_suites :members: + :undoc-members: :show-inheritance: instruction @@ -173,6 +196,7 @@ .. automodule:: pyplusplus.code_creators.instruction :members: + :undoc-members: :show-inheritance: library_reference @@ -180,6 +204,7 @@ .. automodule:: pyplusplus.code_creators.library_reference :members: + :undoc-members: :show-inheritance: license @@ -187,6 +212,7 @@ .. automodule:: pyplusplus.code_creators.license :members: + :undoc-members: :show-inheritance: member_variable @@ -194,6 +220,7 @@ .. automodule:: pyplusplus.code_creators.member_variable :members: + :undoc-members: :show-inheritance: module @@ -201,6 +228,7 @@ .. automodule:: pyplusplus.code_creators.module :members: + :undoc-members: :show-inheritance: module_body @@ -208,6 +236,7 @@ .. automodule:: pyplusplus.code_creators.module_body :members: + :undoc-members: :show-inheritance: namespace @@ -215,6 +244,7 @@ .. automodule:: pyplusplus.code_creators.namespace :members: + :undoc-members: :show-inheritance: name_mappings @@ -222,6 +252,7 @@ .. automodule:: pyplusplus.code_creators.name_mappings :members: + :undoc-members: :show-inheritance: opaque_type_registrator @@ -229,6 +260,7 @@ .. automodule:: pyplusplus.code_creators.opaque_type_registrator :members: + :undoc-members: :show-inheritance: properties @@ -236,6 +268,7 @@ .. automodule:: pyplusplus.code_creators.properties :members: + :undoc-members: :show-inheritance: registration_based @@ -243,6 +276,7 @@ .. automodule:: pyplusplus.code_creators.registration_based :members: + :undoc-members: :show-inheritance: scoped @@ -250,6 +284,7 @@ .. automodule:: pyplusplus.code_creators.scoped :members: + :undoc-members: :show-inheritance: smart_pointers @@ -257,6 +292,7 @@ .. automodule:: pyplusplus.code_creators.smart_pointers :members: + :undoc-members: :show-inheritance: target_configuration @@ -264,6 +300,7 @@ .. automodule:: pyplusplus.code_creators.target_configuration :members: + :undoc-members: :show-inheritance: typedef_as_pyvar @@ -271,6 +308,7 @@ .. automodule:: pyplusplus.code_creators.typedef_as_pyvar :members: + :undoc-members: :show-inheritance: unnamed_enum @@ -278,5 +316,6 @@ .. automodule:: pyplusplus.code_creators.unnamed_enum :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/code_repository/indexing_suite.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/code_repository/indexing_suite.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/code_repository/indexing_suite.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.deque_header :members: + :undoc-members: :show-inheritance: element_proxy_header @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.element_proxy_header :members: + :undoc-members: :show-inheritance: element_proxy_traits_header @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.element_proxy_traits_header :members: + :undoc-members: :show-inheritance: int_slice_helper_header @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.int_slice_helper_header :members: + :undoc-members: :show-inheritance: iterator_range_header @@ -47,6 +52,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.iterator_range_header :members: + :undoc-members: :show-inheritance: iterator_traits_header @@ -54,6 +60,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.iterator_traits_header :members: + :undoc-members: :show-inheritance: list_header @@ -61,6 +68,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.list_header :members: + :undoc-members: :show-inheritance: map_header @@ -68,6 +76,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.map_header :members: + :undoc-members: :show-inheritance: methods_header @@ -75,6 +84,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.methods_header :members: + :undoc-members: :show-inheritance: multimap_header @@ -82,6 +92,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.multimap_header :members: + :undoc-members: :show-inheritance: pair_header @@ -89,6 +100,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.pair_header :members: + :undoc-members: :show-inheritance: proxy_iterator_header @@ -96,6 +108,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.proxy_iterator_header :members: + :undoc-members: :show-inheritance: python_iterator_header @@ -103,6 +116,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.python_iterator_header :members: + :undoc-members: :show-inheritance: set_header @@ -110,6 +124,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.set_header :members: + :undoc-members: :show-inheritance: shared_proxy_impl_header @@ -117,6 +132,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.shared_proxy_impl_header :members: + :undoc-members: :show-inheritance: slice_handler_header @@ -124,6 +140,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.slice_handler_header :members: + :undoc-members: :show-inheritance: slice_header @@ -131,6 +148,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.slice_header :members: + :undoc-members: :show-inheritance: suite_utils_header @@ -138,6 +156,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.suite_utils_header :members: + :undoc-members: :show-inheritance: value_traits_header @@ -145,6 +164,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.value_traits_header :members: + :undoc-members: :show-inheritance: vector_header @@ -152,6 +172,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.vector_header :members: + :undoc-members: :show-inheritance: visitor_header @@ -159,6 +180,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.visitor_header :members: + :undoc-members: :show-inheritance: workaround_header @@ -166,6 +188,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.workaround_header :members: + :undoc-members: :show-inheritance: algorithms_header @@ -173,6 +196,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.algorithms_header :members: + :undoc-members: :show-inheritance: container_proxy_header @@ -180,6 +204,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.container_proxy_header :members: + :undoc-members: :show-inheritance: container_suite_header @@ -187,6 +212,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.container_suite_header :members: + :undoc-members: :show-inheritance: container_traits_header @@ -194,6 +220,7 @@ .. automodule:: pyplusplus.code_repository.indexing_suite.container_traits_header :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/code_repository.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/code_repository.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/code_repository.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.code_repository :members: + :undoc-members: :show-inheritance: ------------ @@ -27,6 +28,7 @@ .. automodule:: pyplusplus.code_repository.ctypes_integration :members: + :undoc-members: :show-inheritance: ctypes_utils @@ -34,6 +36,7 @@ .. automodule:: pyplusplus.code_repository.ctypes_utils :members: + :undoc-members: :show-inheritance: gil_guard @@ -41,6 +44,7 @@ .. automodule:: pyplusplus.code_repository.gil_guard :members: + :undoc-members: :show-inheritance: named_tuple @@ -48,5 +52,6 @@ .. automodule:: pyplusplus.code_repository.named_tuple :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/creators_factory.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/creators_factory.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/creators_factory.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.creators_factory :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.creators_factory.bpcreator :members: + :undoc-members: :show-inheritance: call_policies_resolver @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.creators_factory.call_policies_resolver :members: + :undoc-members: :show-inheritance: creators_wizard @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.creators_factory.creators_wizard :members: + :undoc-members: :show-inheritance: ctypes_creator @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.creators_factory.ctypes_creator :members: + :undoc-members: :show-inheritance: dependencies_manager @@ -47,6 +52,7 @@ .. automodule:: pyplusplus.creators_factory.dependencies_manager :members: + :undoc-members: :show-inheritance: fake_constructors_manager @@ -54,6 +60,7 @@ .. automodule:: pyplusplus.creators_factory.fake_constructors_manager :members: + :undoc-members: :show-inheritance: opaque_types_manager @@ -61,6 +68,7 @@ .. automodule:: pyplusplus.creators_factory.opaque_types_manager :members: + :undoc-members: :show-inheritance: sort_algorithms @@ -68,6 +76,7 @@ .. automodule:: pyplusplus.creators_factory.sort_algorithms :members: + :undoc-members: :show-inheritance: types_database @@ -75,5 +84,6 @@ .. automodule:: pyplusplus.creators_factory.types_database :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/decl_wrappers.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/decl_wrappers.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/decl_wrappers.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.decl_wrappers :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.decl_wrappers.algorithm :members: + :undoc-members: :show-inheritance: calldef_wrapper @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.decl_wrappers.calldef_wrapper :members: + :undoc-members: :show-inheritance: call_policies @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.decl_wrappers.call_policies :members: + :undoc-members: :show-inheritance: class_wrapper @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.decl_wrappers.class_wrapper :members: + :undoc-members: :show-inheritance: decl_wrapper @@ -47,6 +52,7 @@ .. automodule:: pyplusplus.decl_wrappers.decl_wrapper :members: + :undoc-members: :show-inheritance: decl_wrapper_printer @@ -54,6 +60,7 @@ .. automodule:: pyplusplus.decl_wrappers.decl_wrapper_printer :members: + :undoc-members: :show-inheritance: doc_extractor @@ -61,6 +68,7 @@ .. automodule:: pyplusplus.decl_wrappers.doc_extractor :members: + :undoc-members: :show-inheritance: enumeration_wrapper @@ -68,6 +76,7 @@ .. automodule:: pyplusplus.decl_wrappers.enumeration_wrapper :members: + :undoc-members: :show-inheritance: indexing_suite1 @@ -82,6 +91,7 @@ .. automodule:: pyplusplus.decl_wrappers.indexing_suite2 :members: + :undoc-members: :show-inheritance: namespace_wrapper @@ -89,6 +99,7 @@ .. automodule:: pyplusplus.decl_wrappers.namespace_wrapper :members: + :undoc-members: :show-inheritance: properties @@ -96,6 +107,7 @@ .. automodule:: pyplusplus.decl_wrappers.properties :members: + :undoc-members: :show-inheritance: python_traits @@ -103,6 +115,7 @@ .. automodule:: pyplusplus.decl_wrappers.python_traits :members: + :undoc-members: :show-inheritance: scopedef_wrapper @@ -110,6 +123,7 @@ .. automodule:: pyplusplus.decl_wrappers.scopedef_wrapper :members: + :undoc-members: :show-inheritance: typedef_wrapper @@ -117,6 +131,7 @@ .. automodule:: pyplusplus.decl_wrappers.typedef_wrapper :members: + :undoc-members: :show-inheritance: user_text @@ -124,6 +139,7 @@ .. automodule:: pyplusplus.decl_wrappers.user_text :members: + :undoc-members: :show-inheritance: variable_wrapper @@ -131,4 +147,5 @@ .. automodule:: pyplusplus.decl_wrappers.variable_wrapper :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/file_writers.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/file_writers.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/file_writers.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.file_writers :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.file_writers.balanced_files :members: + :undoc-members: :show-inheritance: class_multiple_files @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.file_writers.class_multiple_files :members: + :undoc-members: :show-inheritance: md5sum_repository @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.file_writers.md5sum_repository :members: + :undoc-members: :show-inheritance: multiple_files @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.file_writers.multiple_files :members: + :undoc-members: :show-inheritance: single_file @@ -47,6 +52,7 @@ .. automodule:: pyplusplus.file_writers.single_file :members: + :undoc-members: :show-inheritance: writer @@ -54,5 +60,6 @@ .. automodule:: pyplusplus.file_writers.writer :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/function_transformers.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/function_transformers.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/function_transformers.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.function_transformers :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.function_transformers.controllers :members: + :undoc-members: :show-inheritance: function_transformation @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.function_transformers.function_transformation :members: + :undoc-members: :show-inheritance: templates @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.function_transformers.templates :members: + :undoc-members: :show-inheritance: transformer @@ -40,6 +44,7 @@ .. automodule:: pyplusplus.function_transformers.transformer :members: + :undoc-members: :show-inheritance: transformers @@ -47,4 +52,5 @@ .. automodule:: pyplusplus.function_transformers.transformers :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/messages.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/messages.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/messages.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.messages :members: + :undoc-members: :show-inheritance: -------- @@ -19,4 +20,5 @@ .. automodule:: pyplusplus.messages.warnings_ :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/module_builder.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/module_builder.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/module_builder.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -8,6 +8,7 @@ .. automodule:: pyplusplus.module_builder :members: + :undoc-members: :show-inheritance: -------- @@ -19,6 +20,7 @@ .. automodule:: pyplusplus.module_builder.boost_python_builder :members: + :undoc-members: :show-inheritance: ctypes_builder @@ -26,6 +28,7 @@ .. automodule:: pyplusplus.module_builder.ctypes_builder :members: + :undoc-members: :show-inheritance: ctypes_decls_dependencies @@ -33,6 +36,7 @@ .. automodule:: pyplusplus.module_builder.ctypes_decls_dependencies :members: + :undoc-members: :show-inheritance: module_builder @@ -40,4 +44,5 @@ .. automodule:: pyplusplus.module_builder.module_builder :members: + :undoc-members: :show-inheritance: Modified: pyplusplus_dev/docs/documentation/apidocs/utils.rest =================================================================== --- pyplusplus_dev/docs/documentation/apidocs/utils.rest 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/docs/documentation/apidocs/utils.rest 2009-02-22 13:56:26 UTC (rev 1695) @@ -9,6 +9,7 @@ .. automodule:: pyplusplus.utils :members: + :undoc-members: :show-inheritance: -------- Modified: pyplusplus_dev/unittests/data/indexing_suites2_to_be_exported.hpp =================================================================== --- pyplusplus_dev/unittests/data/indexing_suites2_to_be_exported.hpp 2009-02-21 12:29:41 UTC (rev 1694) +++ pyplusplus_dev/unittests/data/indexing_suites2_to_be_exported.hpp 2009-02-22 13:56:26 UTC (rev 1695) @@ -6,6 +6,7 @@ #ifndef __indexing_suites2_to_be_exported_hpp__ #define __indexing_suites2_to_be_exported_hpp__ +#include <hash_map> #include <vector> #include <string> #include <map> @@ -17,18 +18,18 @@ inline void do_nothing( const strings_t& ){} -struct item_t{ +struct item_t{ item_t() : value( -1 ){} explicit item_t( int v) : value( v ){} - - bool operator==(item_t const& item) const { - return value == item.value; + + bool operator==(item_t const& item) const { + return value == item.value; } - - bool operator!=(item_t const& item) const { - return value != item.value; - } - + + bool operator!=(item_t const& item) const { + return value != item.value; + } + int value; }; @@ -42,7 +43,7 @@ items.push_back( new item_t(1) ); items.push_back( new item_t(2) ); items.push_back( new item_t(3) ); - items.push_back( new item_t(4) ); + items.push_back( new item_t(4) ); return items; } @@ -58,6 +59,10 @@ typedef std::vector<float> fvector; fvector empty_fvector(){ return fvector(); } +stdext::hash_map< int, int > get_int_mapping(){ + return stdext::hash_map< int, int >(); +} + typedef std::map< std::string, std::string > name2value_t; inline std::string get_first_name( name2value_t const * names ){ if( !names ){ Modified: sphinx/conf.py =================================================================== --- sphinx/conf.py 2009-02-21 12:29:41 UTC (rev 1694) +++ sphinx/conf.py 2009-02-22 13:56:26 UTC (rev 1695) @@ -16,7 +16,7 @@ import sys, os, shutil, getopt -opts, args = getopt.getopt( sys.argv[1:], 'ab:d:c:CD:A:NEqQP') +opts, args = getopt.getopt( sys.argv[1:], 'ab:d:c:CD:A:NEqQP:w') print 'opts: ', opts print 'args: ', args outdir = args[1] @@ -44,7 +44,7 @@ if has_true_links: os.symlink( source, target ) else: - shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'osdc2006', 'www_configuration.py' ) ) + shutil.copytree( source, target, ignore=shutil.ignore_patterns( r'.svn', '*.pyc', 'osdc2006' ) ) if has_true_links: if os.path.exists(os.path.join( doc_project_root, 'index.rest' )): os.unlink( os.path.join( doc_project_root, 'index.rest' ) ) @@ -290,3 +290,5 @@ # Example configuration for intersphinx: refer to the Python standard library. intersphinx_mapping = {'http://docs.python.org/dev': None} + +autoclass_content = "both" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-05-13 11:58:30
|
Revision: 1729 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1729&view=rev Author: roman_yakovenko Date: 2009-05-13 11:58:25 +0000 (Wed, 13 May 2009) Log Message: ----------- updating encoding Modified Paths: -------------- pyplusplus_dev/docs/download.rest Added Paths: ----------- developer_scripts/ensure_utf8.py Added: developer_scripts/ensure_utf8.py =================================================================== --- developer_scripts/ensure_utf8.py (rev 0) +++ developer_scripts/ensure_utf8.py 2009-05-13 11:58:25 UTC (rev 1729) @@ -0,0 +1,43 @@ +# Copyright 2004-2008 Roman Yakovenko. +# 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) + +import os +import codecs +from file_system_iter import files_iterator, folders_iterator + +to_be_validated_file_exts = [ + '*.rest' +] + +def ensure_utf8( fpath ): + def read_content( fpath ): + last_error = None + for encoding in [ 'ascii', 'UTF8', 'UTF16' ]: + try: + f = codecs.open( fpath, 'rb', encoding ) + fcontent = f.read() + f.close() + return fcontent + except UnicodeDecodeError, err: + last_error = err + else: + raise last_error + + def write_content( fpath, content ): + fcontent_new = content #unicode( content, 'UTF8' ) + f = codecs.open( fpath, 'w+b', 'UTF8' ) + f.write( fcontent_new ) + f.close() + + write_content( fpath, read_content( fpath ) ) + + +if __name__ == '__main__': + sources_dir = os.path.join( os.path.abspath( os.curdir ), '..' ) + + for fpath in files_iterator( sources_dir, to_be_validated_file_exts ): + print 'converting %s' % fpath + ensure_utf8( fpath ) + print 'converting %s - done' % fpath Modified: pyplusplus_dev/docs/download.rest =================================================================== --- pyplusplus_dev/docs/download.rest 2009-05-13 11:25:12 UTC (rev 1728) +++ pyplusplus_dev/docs/download.rest 2009-05-13 11:58:25 UTC (rev 1729) @@ -1,58 +1,58 @@ -================== -Download & Install -================== - -------------------- -Py++ on SourceForge -------------------- - -:doc:`Py++ <pyplusplus>` project is hosted on SourceForge. Using SourceForge services you -can: - -1) get access to source code -2) get access to latest release version of :doc:`Py++ <pyplusplus>` - - ------------------ -Subversion access ------------------ - -http://sourceforge.net/svn/?group_id=118209 - --------- -Download --------- - -https://sourceforge.net/project/showfiles.php?group_id=118209 - ------------- -Installation ------------- - -In command prompt or shell change current directory to be "pyplusplus-X.Y.Z". -"X.Y.Z" is version of :doc:`Py++ <pyplusplus>`. Type the following command: - -| ``python setup.py install`` - -After this command complete, you should have installed :doc:`Py++ <pyplusplus>` package. - -Boost.Python installation -------------------------- - -Users of Microsoft Windows can enjoy from simple `installer for Boost Libraries`_. -You can find it `here`_. Take a look on new `getting started guide`_ for Boost -libraries. - -Another very valuable link related to Boost is http://engineering.meta-comm.com/boost.aspx . -You will find hourly snapshots of the source code and the documentation for all -Boost libraries. - -.. _`getting started guide` : http://boost.cvs.sourceforge.net/*checkout*/boost/boost/more/getting_started.html -.. _`here` : http://www.boost-consulting.com/products/free -.. _`installer for Boost Libraries` : http://www.boost-consulting.com/products/free - ------------- -Dependencies ------------- - -* :doc:`pygccxml <../pygccxml/pygccxml>` +================== +Download & Install +================== + +------------------- +Py++ on SourceForge +------------------- + +:doc:`Py++ <pyplusplus>` project is hosted on SourceForge. Using SourceForge services you +can: + +1) get access to source code +2) get access to latest release version of :doc:`Py++ <pyplusplus>` + + +----------------- +Subversion access +----------------- + +http://sourceforge.net/svn/?group_id=118209 + +-------- +Download +-------- + +https://sourceforge.net/project/showfiles.php?group_id=118209 + +------------ +Installation +------------ + +In command prompt or shell change current directory to be "pyplusplus-X.Y.Z". +"X.Y.Z" is version of :doc:`Py++ <pyplusplus>`. Type the following command: + +| ``python setup.py install`` + +After this command complete, you should have installed :doc:`Py++ <pyplusplus>` package. + +Boost.Python installation +------------------------- + +Users of Microsoft Windows can enjoy from simple `installer for Boost Libraries`_. +You can find it `here`_. Take a look on new `getting started guide`_ for Boost +libraries. + +Another very valuable link related to Boost is http://engineering.meta-comm.com/boost.aspx . +You will find hourly snapshots of the source code and the documentation for all +Boost libraries. + +.. _`getting started guide` : http://boost.cvs.sourceforge.net/*checkout*/boost/boost/more/getting_started.html +.. _`here` : http://www.boost-consulting.com/products/free +.. _`installer for Boost Libraries` : http://www.boost-consulting.com/products/free + +------------ +Dependencies +------------ + +* :doc:`pygccxml <../pygccxml/pygccxml>` This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rom...@us...> - 2009-12-15 20:44:57
|
Revision: 1780 http://pygccxml.svn.sourceforge.net/pygccxml/?rev=1780&view=rev Author: roman_yakovenko Date: 2009-12-15 20:44:50 +0000 (Tue, 15 Dec 2009) Log Message: ----------- fix for "get dependencies" functionality Modified Paths: -------------- pygccxml_dev/pygccxml/declarations/dependencies.py pyplusplus_dev/pyplusplus/creators_factory/dependencies_manager.py Modified: pygccxml_dev/pygccxml/declarations/dependencies.py =================================================================== --- pygccxml_dev/pygccxml/declarations/dependencies.py 2009-11-16 21:15:20 UTC (rev 1779) +++ pygccxml_dev/pygccxml/declarations/dependencies.py 2009-12-15 20:44:50 UTC (rev 1780) @@ -9,6 +9,28 @@ import cpptypes +class impl_details: + @staticmethod + def dig_declarations( depend_on_it ): + #prevent recursive import + from pygccxml import declarations + + if isinstance( depend_on_it, declarations.declaration_t ): + return [depend_on_it] + base_type = declarations.base_type( declarations.remove_alias( depend_on_it ) ) + if isinstance( base_type, cpptypes.declarated_t ): + return [base_type.declaration] + elif isinstance( base_type, cpptypes.calldef_type_t ): + result = [] + result.extend( impl_details.dig_declarations( base_type.return_type ) ) + for argtype in base_type.arguments_types: + result.extend( impl_details.dig_declarations( argtype ) ) + if isinstance( base_type, cpptypes.member_function_type_t ): + result.extend( impl_details.dig_declarations( base_type.class_inst ) ) + return result + return [] + + class dependency_info_t( object ): def __init__( self, declaration, depend_on_it, access_type=None, hint=None ): object.__init__( self ) @@ -46,20 +68,12 @@ about dependency. It can be used later""" return self._hint - def find_out_depend_on_declaration( self ): + def find_out_depend_on_it_declarations( self ): """if declaration depends on other declaration and not on some type this function will return reference to it. Otherwise None will be returned """ - #prevent recursive import - from pygccxml import declarations + return impl_details.dig_declarations( self.depend_on_it ) - if isinstance( self.depend_on_it, declarations.declaration_t ): - return self.depend_on_it - base_type = declarations.base_type( declarations.remove_alias( self.depend_on_it ) ) - if isinstance( base_type, cpptypes.declarated_t ): - return base_type.declaration - return None - @staticmethod def i_depend_on_them( decl ): """returns set of declarations. every item in the returned set, depends on a @@ -67,9 +81,9 @@ import class_declaration #prevent cyclic imports to_be_included = set() for dependency_info in decl.i_depend_on_them(): - ddecl = dependency_info.find_out_depend_on_declaration() - if ddecl: - to_be_included.add( ddecl ) + for ddecl in dependency_info.find_out_depend_on_it_declarations(): + if ddecl: + to_be_included.add( ddecl ) if isinstance( decl.parent, class_declaration.class_t ): to_be_included.add( decl.parent ) Modified: pyplusplus_dev/pyplusplus/creators_factory/dependencies_manager.py =================================================================== --- pyplusplus_dev/pyplusplus/creators_factory/dependencies_manager.py 2009-11-16 21:15:20 UTC (rev 1779) +++ pyplusplus_dev/pyplusplus/creators_factory/dependencies_manager.py 2009-12-15 20:44:50 UTC (rev 1780) @@ -141,28 +141,30 @@ exported_ids = set( map( lambda d: id( d ), self.__exported_decls ) ) for decl in self.__exported_decls: for dependency in self.__build_dependencies( decl ): - depend_on_decl = dependency.find_out_depend_on_declaration() - if self.__has_unexposed_dependency( exported_ids, depend_on_decl, dependency ): - if messages.filter_disabled_msgs([messages.W1040], depend_on_decl.disabled_messages ): - #need to report dependency errors - used_not_exported.append(dependency) + for depend_on_decl in dependency.find_out_depend_on_it_declarations(): + if self.__has_unexposed_dependency( exported_ids, depend_on_decl, dependency ): + if messages.filter_disabled_msgs([messages.W1040], depend_on_decl.disabled_messages ): + #need to report dependency errors + used_not_exported.append(dependency) return used_not_exported def __group_by_unexposed( self, dependencies ): groups = {} for dependency in dependencies: - depend_on_decl = dependency.find_out_depend_on_declaration() - if not groups.has_key( id( depend_on_decl ) ): - groups[ id( depend_on_decl ) ] = [] - groups[ id( depend_on_decl ) ].append( dependency ) + for depend_on_decl in dependency.find_out_depend_on_it_declarations(): + if not groups.has_key( id( depend_on_decl ) ): + groups[ id( depend_on_decl ) ] = [] + groups[ id( depend_on_decl ) ].append( dependency ) return groups def __create_dependencies_msg( self, dependencies ): - depend_on_decl = dependencies[0].find_out_depend_on_declaration() - decls = [] - for dependency in dependencies: - decls.append( os.linesep + ' ' + str( dependency.declaration ) ) - return "%s;%s" % ( depend_on_decl, messages.W1040 % ''.join( decls ) ) + msg = [] + for depend_on_decl in dependencies[0].find_out_depend_on_it_declarations(): + decls = [] + for dependency in dependencies: + decls.append( os.linesep + ' ' + str( dependency.declaration ) ) + msg.append( "%s;%s" % ( depend_on_decl, messages.W1040 % ''.join( decls ) ) ) + return os.linesep.join( msg ) def __report_duplicated_aliases( self ): decls = filter( lambda decl: isinstance( decl, declarations.class_types ) \ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |