Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > 623999701586b0ea103ff2ccad7954a6 > files > 9458

boost-doc-1.44.0-1.fc14.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<!-- Copyright David Abrahams 2006. Distributed under the Boost -->
<!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Cygwin (vers 1st September 2004), see www.w3.org">
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
  <link rel="stylesheet" type="text/css" href="boost.css">

  <title>Boost.Python - News/Change Log</title>
</head>

<body link="#0000FF" vlink="#800080">
  <table border="0" cellpadding="7" cellspacing="0" width="100%" summary=
  "header">
    <tr>
      <td valign="top" width="300">
        <h3><a href="../../../index.htm"><img height="86" width="277" alt=
        "C++ Boost" src="../../../boost.png" border="0"></a></h3>
      </td>

      <td valign="top">
        <h1 align="center"><a href="index.html">Boost.Python</a></h1>

        <h2 align="center">News/Change Log</h2>
      </td>
    </tr>
  </table>
  <hr>

  <dl class="page-index">

    <dt>Current SVN</dt>
    <dd>
      <ul>
        <li>Python 3 support:</li>
          <ul>
              <li>All the current Boost.Python test cases passed. Extension modules using 
                  Boost.Python expected to support Python 3 smoothly.</li>
              <li>Introduced <code>object.contains</code> where <code>x.contains(y)</code>
                   is equivalent to Python code <code>y in x</code>. 
                  Now <code>dict.has_key</code> is just a wrapper of <code>object.contains</code>.
              </li>
              <li>When building against Python 3, <code>str.decode</code> will be removed.</li>
              <li>When building against Python 3, the original signature of <code>list.sort</code>, which is:
                  <pre>void sort(object_cref cmpfunc);</pre>
                  will change to:
                  <pre>void sort(args_proxy const &args, kwds_proxy const &kwds);</pre>

                  This is because in Python 3 <code>list.sort</code> requires all its arguments be keyword arguments.
                  So you should call it like this:
                  <pre>x.sort(*tuple(), **dict(make_tuple(make_tuple("reverse", true))));</pre>

              </li>
              <li>According to <a href="http://www.python.org/dev/peps/pep-3123/">PEP 3123</a>, 
                  when building Boost.Python against Python older than 2.6, the following macros will
                  be defined in Boost.Python header:
                <pre>
# define Py_TYPE(o)    (((PyObject*)(o))->ob_type)
# define Py_REFCNT(o)  (((PyObject*)(o))->ob_refcnt)
# define Py_SIZE(o)    (((PyVarObject*)(o))->ob_size)</pre>
                  So extension writers can use these macro directly, to make code clean and compatible with Python 3.
              </li>
          </ul> 
      </ul>
    </dd>

    <dt>1.39.0 Release</dt>

    <dd>
      <ul>
        <li>Pythonic signatures are now automatically appended to the
        docstrings.

        <li>Use <a href="v2/docstring_options.html"
        ><code>docstring_options.hpp</code></a> header 
        control the content of docstrings.
	
	<li>This new feature increases the size of the modules by about 14%.
        If this is not acceptable it can be turned off by defining the macro
        BOOST_PYTHON_NO_PY_SIGNATURES. Modules compiled with and without the macro
        defined are compatible.
        </li>
	<li> If BOOST_PYTHON_NO_PY_SIGNATURES is undefined, this version defines the 
        macro BOOST_PYTHON_SUPPORTS_PY_SIGNATURES. This allows writing code that will compile
        with older version of Boost.Python (see <a href="v2/pytype_function.html#examples">here</a>).
        </li>
	<li>By defining BOOST_PYTHON_PY_SIGNATURES_PROPER_INIT_SELF_TYPE, and at a cost
        of another 14% size increase, proper pythonic type is generated for the "self"
        parameter of the __init__ methods.
        </li>
        
        <li> To support this new feature changes were made to the 
        <a href="v2/to_python_converter.html"><code>to_python_converter.hpp</code></a>, 
        <a href="v2/default_call_policies.html"><code>default_call_policies</code></a>,
        <a href="v2/ResultConverter.html"><code>ResultConverter</code></a>,
        <a href="v2/CallPolicies.html"><code>CallPolicies</code></a> and some others.
        Efforts were made not to have interface breaking changes. 
        </li>

      </ul>
    </dd>

    <dt>12 May 2007 - 1.34.0 release</dt>

    <dd>
      <ul>
        <li>C++ signatures are now automatically appended to the
        docstrings.

        <li>New <a href="v2/docstring_options.html"
        ><code>docstring_options.hpp</code></a> header to
        control the content of docstrings.

        <li>Support for converting <code>void*</code> to/from python,
        with <code><a
        href="v2/opaque.html">opaque_pointer_converter</a></code>
        as the return value policy.  Thanks to Niall Douglas for the
        initial patch.
      </ul>
    </dd>

    <dt>19 October 2005 - 1.33.1 release</dt>

    <dd>
      <ul>
        <li><code>wrapper&lt;T&gt;</code> can now be used as expected with a
        held type of <i>some-smart-pointer</i><code>&lt;T&gt;</code></li>

        <li>The build now assumes Python 2.4 by default, rather than 2.2</li>

        <li>Support Python that's built without Unicode support</li>

        <li>Support for wrapping classes with overloaded address-of
        (<code>&amp;</code>) operators</li>
      </ul>
    </dd>

    <dt>14 August 2005 - 1.33 release</dt>

    <dd>
      <ul>
        <li>Support for docstrings on nonstatic properties.</li>

        <li>We now export the client-provided docstrings for
        <code>init&lt;optional&lt;&gt; &gt;</code> and
        <i>XXX</i><code>_FUNCTION_OVERLOADS()</code> for only the last
        overload.</li>

        <li>Fixed some support for Embedded VC++ 4</li>

        <li>Better support for rvalue from-python conversions of shared_ptr:
        always return a pointer that holds the owning python object *unless*
        the python object contains a NULL shared_ptr holder of the right
        type.</li>

        <li>Support for exposing <code>vector&lt;T*&gt;</code> with the
        indexing suite.</li>

        <li>Support for GCC-3.3 on MacOS.</li>

        <li>updated visual studio project build file to include two new files
        (slice.cpp and wrapper.cpp)</li>

        <li>Added search feature to the index page.</li>

        <li>Numerous fixes to the tutorial</li>

        <li>Numerous workarounds for MSVC 6 and 7, GCC 2.96, and EDG
        2.45</li>
      </ul>
    </dd>

    <dt>11 March 2005</dt>

    <dd>
      <ul>
        <li>Added a hack that will fool PyDoc into working with Boost.Python,
        thanks to Nick Rasmussen</li>
      </ul>
    </dd>

    <dt>19 November 2004 - 1.32 release</dt>

    <dd>
      <ul>
        <li>Updated to use the Boost Software License.</li>

        <li>A new, <a href=
        "tutorial/doc/html/python/exposing.html#python.class_virtual_functions">
        better method of wrapping classes with virtual functions</a> has been
        implemented.</li>

        <li>Support for upcoming GCC symbol export control features have been
        folded in, thanks to Niall Douglas.</li>

        <li>Improved support for <code>std::auto_ptr</code>-like types.</li>

        <li>The Visual C++ bug that makes top-level <i>cv-qualification</i>
        of function parameter types part of the function type has been worked
        around.</li>

        <li>Components used by other libraries have been moved out of
        <code>python/detail</code> and into <code>boost/detail</code> to
        improve dependency relationships.</li>

        <li>Miscellaneous bug fixes and compiler workarounds.</li>
      </ul>
    </dd>

    <dt>8 Sept 2004</dt>

    <dd>Support for Python's Bool type, thanks to <a href=
    "mailto:dholth-at-fastmail.fm">Daniel Holth</a>.</dd>

    <dt>11 Sept 2003</dt>

    <dd>
      <ul>
        <li>Changed the response to multiple to-python converters being
        registered for the same type from a hard error into warning;
        Boost.Python now reports the offending type in the message.</li>

        <li>Added builtin <code>std::wstring</code> conversions</li>

        <li>Added <code>std::out_of_range</code> =&gt; Python
        <code>IndexError</code> exception conversion, thanks to <a href=
        "mailto:RaoulGough-at-yahoo.co.uk">Raoul Gough</a></li>
      </ul>
    </dd>

    <dt>9 Sept 2003</dt>

    <dd>Added new <code><a href="v2/str.html#str-spec">str</a></code></dd>

    <dt>constructors which take a range of characters, allowing strings
    containing nul (<code>'\0'</code>) characters.</dt>

    <dt>8 Sept 2003</dt>

    <dd>Added the ability to create methods from function objects (with an
    <code>operator()</code>); see the <a href=
    "v2/make_function.html#make_function-spec">make_function</a> docs for
    more info.</dd>

    <dt>10 August 2003</dt>

    <dd>Added the new <code>properties</code> unit tests contributed by
    <a href="mailto:romany-at-actimize.com">Roman Yakovenko</a> and
    documented <code>add_static_property</code> at his urging.</dd>

    <dt>1 August 2003</dt>

    <dd>
      Added the new <code>arg</code> class contributed by <a href=
      "mailto:nickm-at-sitius.com">Nikolay Mladenov</a> which supplies the
      ability to wrap functions that can be called with ommitted arguments in
      the middle:
      <pre>
void f(int x = 0, double y = 3.14, std::string z = std::string("foo"));

BOOST_PYTHON_MODULE(test)
{
   def("f", f
       , (arg("x", 0), arg("y", 3.14), arg("z", "foo")));
}
 
</pre>And in Python:
      <pre>
&gt;&gt;&gt; import test
&gt;&gt;&gt; f(0, z = "bar")
&gt;&gt;&gt; f(z = "bar", y = 0.0)
</pre>Thanks, Nikolay!
    </dd>

    <dt>22 July 2003</dt>

    <dd>Killed the dreaded "bad argument type for builtin operation" error.
    Argument errors now show the actual and expected argument types!</dd>

    <dt>19 July 2003</dt>

    <dd>Added the new <code><a href=
    "v2/return_arg.html">return_arg</a></code> policy from <a href=
    "mailto:nickm-at-sitius.com">Nikolay Mladenov</a>. Thanks, Nikolay!</dd>

    <dt>18 March, 2003</dt>

    <dd><a href="mailto:Gottfried.Ganssauge-at-haufe.de">Gottfried
    Gan&szlig;auge</a> has contributed <a href=
    "v2/opaque.html">opaque pointer support</a>.<br>
    <a href="mailto:nicodemus-at-globalite.com.br">Bruno da Silva de
    Oliveira</a> has contributed the exciting <a href=
    "../pyste/index.html">Pyste</a> ("Pie-steh") package.</dd>

    <dt>24 February 2003</dt>

    <dd>Finished improved support for <code>boost::shared_ptr</code>. Now any
    wrapped object of C++ class <code>X</code> can be converted automatically
    to <code>shared_ptr&lt;X&gt;</code>, regardless of how it was wrapped.
    The <code>shared_ptr</code> will manage the lifetime of the Python object
    which supplied the <code>X</code>, rather than just the <code>X</code>
    object itself, and when such a <code>shared_ptr</code> is converted back
    to Python, the original Python object will be returned.</dd>

    <dt>19 January 2003</dt>

    <dd>Integrated <code>staticmethod</code> support from <a href=
    "mailto:nickm-at-sitius.com">Nikolay Mladenov</a>. Thanks, Nikolay!</dd>

    <dt>29 December 2002</dt>

    <dd>Added Visual Studio project file and instructions from Brett Calcott.
    Thanks, Brett!</dd>

    <dt>20 December 2002</dt>

    <dd>Added automatic downcasting for pointers, references, and smart
    pointers to polymorphic class types upon conversion to python</dd>

    <dt>18 December 2002</dt>

    <dd>Optimized from_python conversions for wrapped classes by putting the
    conversion logic in the shared library instead of registering separate
    converters for each class in each extension module</dd>

    <dt>19 November 2002</dt>

    <dd>Removed the need for users to cast base class member function
    pointers when used as arguments to <a href=
    "v2/class.html#class_-spec-modifiers">add_property</a></dd>

    <dt>13 December 2002</dt>

    <dd>Allow exporting of <a href=
    "v2/enum.html#enum_-spec"><code>enum_</code></a> values into enclosing
    <a href="v2/scope.html#scope-spec"><code>scope</code></a>.<br>
    Fixed unsigned integer conversions to deal correctly with numbers that
    are out-of-range of <code>signed long</code>.</dd>

    <dt>14 November 2002</dt>

    <dd>Auto-detection of class data members wrapped with <a href=
    "v2/data_members.html#make_getter-spec"><code>make_getter</code></a></dd>

    <dt>13 November 2002</dt>

    <dd>Full Support for <code>std::auto_ptr&lt;&gt;</code> added.</dd>

    <dt>October 2002</dt>

    <dd>Ongoing updates and improvements to tutorial documentation</dd>

    <dt>10 October 2002</dt>

    <dd>Boost.Python V2 is released!</dd>
  </dl>
  <hr>

  <p>Revised 
  <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
   19 November 2004 
  <!--webbot bot="Timestamp" endspan i-checksum="39359" --></p>

  <p><i>&copy; Copyright <a href="http://www.boost.org/people/dave_abrahams.htm">Dave
  Abrahams</a> 2002-2003.</i></p>
</body>
</html>