summaryrefslogtreecommitdiff
path: root/libs/python/doc/v2/ssize_t.html
blob: cb4398bb586de10421f7afb94e601b46f1fb5a34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<!-- Copyright Ralf W. Grosse-Kunstleve 2006. Distributed under the Boost -->
<!-- Software License, Version 1.0. (See accompanying -->
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->

<html>
<head>
  <meta name="generator" content=
  "HTML Tidy for Linux/x86 (vers 1 September 2005), 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 - &lt;boost/python/ssize_t.hpp&gt;</title>
</head>

<body>
  <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">Header
        &lt;boost/python/ssize_t.hpp&gt;</h2>
      </td>
    </tr>
  </table>
  <hr>

  <h2>Contents</h2>

  <dl class="page-index">
    <dt><a href="#introduction">Introduction</a></dt>

    <dt><a href="#typdefs">Typedef</a></dt>

    <dt><a href="#macros">Constants</a></dt>
  </dl>
  <hr>

  <h2><a name="introduction" id=
  "introduction"></a>Introduction</h2>

  <p>Python 2.5 introduces a new <tt>Py_ssize_t</tt> typedef and
  two related macros (<a href=
  "http://www.python.org/dev/peps/pep-0353/">PEP 353</a>). The
  <tt>&lt;boost/python/ssize_t.hpp&gt;</tt> header imports these
  definitions into the <tt>boost::python</tt> namespace as
  <tt>ssize_t</tt>, <tt>ssize_t_max</tt>, and <tt>ssize_t_min</tt>.
  Appropriate definitions are provided for backward compatibility
  with previous Python versions.</p>

  <h2><a name="typedefs" id="typedefs"></a>Typedefs</h2>Imports
  <tt>Py_ssize_t</tt> into the <tt>boost::python</tt> namespace if
  available, or provides an appropriate typedef for backward
  compatibility:
  <pre>
#if PY_VERSION_HEX &gt;= 0x02050000
typedef Py_ssize_t ssize_t;
#else
typedef int ssize_t;
#endif
</pre>

  <h2><a name="constants" id="constants"></a>Constants</h2>Imports
  <tt>PY_SSIZE_T_MAX</tt> and <tt>PY_SSIZE_T_MIN</tt> as constants
  into the <tt>boost::python</tt> namespace if available, or
  provides appropriate constants for backward compatibility:
  <pre>
#if PY_VERSION_HEX &gt;= 0x02050000
ssize_t const ssize_t_max = PY_SSIZE_T_MAX;
ssize_t const ssize_t_min = PY_SSIZE_T_MIN;
#else
ssize_t const ssize_t_max = INT_MAX;
ssize_t const ssize_t_min = INT_MIN;
#endif
</pre>

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

  <p><i>&copy; Copyright <a href=
  "http://www.boost.org/people/ralf_w_grosse_kunstleve.htm">Ralf W.
  Grosse-Kunstleve</a> 2006.</i></p>
</body>
</html>