Просмотр исходного кода

Preparation for delivering nicely-formatted error messages in
Boost.Python. The major change is that, instead of being
boost::function2<PyObject*,PyObject*,PyObject*>, py_function is now a
runtime-polymorphic wrapper for compile-time polymorphic
behavior (just like function) of our own which carries more
information/behaviors. In particular, you can retrieve an array of
c-strings describing the types in the function signature.
Additionally, the minimum and maximum arity are stored in the
py_function object instead of in the 'function' object which wraps it.

* data_members.hpp -

Adjustments for the new py_function. Workarounds for CodeWarrior
Pro 8.3 bugs in function template argument deduction with
pointers-to-members.

* has_back_reference.hpp, test/back_reference.cpp,
test/select_holder.cpp -

Updated to follow the metafunction protocol

* init.hpp, detail/defaults_gen.hpp -

Make Keywords a more-specific type in function signatures to
prevent string literals that show up as char[N] from binding to
the wrong argument (at least Intel 7.1 for Windows does this).

* make_function.hpp -

Adjustments for the new py_function. Arities are now computed
by caller<>.

* opaque_pointer_converter.hpp, type_id.hpp -

Use BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS facilities;
generate specializations that all compilers can handle.

* raw_function.hpp -

Adjustments for the new py_function.

* caller.hpp -

Added arity and signature type name reporting.

* detail/config.hpp

Enable __declspec(dllexport) for Cygwin, thereby fixing the
recent horrible Cygwin linking problems.


* detail/msvc_typeinfo.hpp -

Always pass boost::type<T>* explicitly, thereby working around
incompatible notions of how to specialize function templates with
default arguments on various compilers.

* object/function.hpp
, object/function_handle.hpp
, object/function_object.hpp
, object/function_object.cpp

Adjustments for the new py_function. Arities are carried by
py_function.

* object/iterator.hpp, object/iterator.cpp

Adjustments for the new py_function; we have to compute a
signature of types to construct it with.

* object/py_function.hpp

Removed dependency on boost::function; see the comment at the
top of this entry for more details.

* object/select_holder.hpp

Clean up to more closely follow MPL idioms.

* test/Jamfile -

Adjust the embedding test for the new Cygwin use of declspec.
Update bases and pointee tests with missing properties.

* test/input_iterator.cpp -

Updates for the new iterator adaptors.

* test/opaque.py -

Add Python encoding comment to suppress PendinDeprecationWarning
with recent Python builds.

* test/str.cpp

Pass a Python long instead of a float to string.expandtabs,
suppressing a PendinDeprecationWarning with recent Python builds.

* libs/utility/counting_iterator_example.cpp

Borland workaround

* libs/utility/indirect_iterator_example.cpp

const-correctness fix.

*


[SVN r19247]

Dave Abrahams 23 лет назад
Родитель
Сommit
ff4a34bc2b
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      libs/python
  2. 1 1
      libs/utility

+ 1 - 1
libs/python

@@ -1 +1 @@
-Subproject commit 817dcd37e0c02507680639dda338988835c19dd0
+Subproject commit d4e06ac436a11a7797aecdc5a54c0c43a6bde43b

+ 1 - 1
libs/utility

@@ -1 +1 @@
-Subproject commit 7cec198e14c693cdb1c45782e499025bfbcae86b
+Subproject commit f57c914b8fd083603cf65f16a7b1cfb62a0e6372

粤ICP备19079148号