summaryrefslogtreecommitdiff
path: root/libs/python/doc/v2/list.html
blob: e347ae46179fa63585ff3d689b507f3117f04d08 (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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
<!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 Windows (vers 1st August 2002), see www.w3.org">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <link rel="stylesheet" type="text/css" href="../boost.css">

    <title>Boost.Python - &lt;boost/python/list.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/list.hpp&gt;</h2>
        </td>
      </tr>
    </table>
    <hr>

    <h2>Contents</h2>

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

      <dt><a href="#classes">Classes</a></dt>

      <dd>
        <dl class="page-index">
          <dt><a href="#list-spec">Class <code>list</code></a></dt>

          <dd>
            <dl class="page-index">
              <dt><a href="#list-spec-synopsis">Class <code>list</code>
              synopsis</a></dt>
            </dl>
          </dd>
        </dl>
      </dd>

      <dt><a href="#examples">Example(s)</a></dt>
    </dl>
    <hr>

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

    <p>Exposes a <a href=
    "ObjectWrapper.html#TypeWrapper-concept">TypeWrapper</a> for the Python
    <a href=
    "http://www.python.org/doc/current/lib/typesseq-mutable.html">list</a>
    type.</p>

    <h2><a name="classes"></a>Classes</h2>

    <h3><a name="list-spec"></a>Class <code>list</code></h3>

    <p>Exposes the <a href=
    "http://www.python.org/doc/current/lib/typesseq-mutable.html">mapping
    protocol</a> of Python's built-in <code>list</code> type. The semantics
    of the constructors and member functions defined below can be fully
    understood by reading the <a href=
    "ObjectWrapper.html#TypeWrapper-concept">TypeWrapper</a> concept
    definition. Since <code>list</code> is publicly derived from <code><a
    href="object.html#object-spec">object</a></code>, the public object
    interface applies to <code>list</code> instances as well.</p>

    <h4><a name="list-spec-synopsis"></a>Class <code>list</code>
    synopsis</h4>
<pre>
namespace boost { namespace python
{
  class list : public object
  {
   public:
      list(); // new list

      template &lt;class T&gt;
      explicit list(T const&amp; sequence);

      template &lt;class T&gt;
      void append(T const&amp; x);

      template &lt;class T&gt;
      long count(T const&amp; value) const;

      template &lt;class T&gt;
      void extend(T const&amp; x);

      template &lt;class T&gt;
      long index(T const&amp; x) const;

      template &lt;class T&gt;
      void insert(object const&amp; index, T const&amp; x); // insert object before index

      object pop(); // remove and return item at index (default last)
      object pop(long index);
      object pop(object const&amp; index);

      template &lt;class T&gt;
      void remove(T const&amp; value);

      void reverse(); // reverse *IN PLACE*

      void sort(); //  sort *IN PLACE*; if given, cmpfunc(x, y) -&gt; -1, 0, 1

      template &lt;class T&gt;
      void sort(T const&amp; value);
  };
}}
</pre>

    <h2><a name="examples"></a>Example</h2>
<pre>
using namespace boost::python;

// Return the number of zeroes in the list
long zeroes(list l)
{
   return l.count(0);
}
</pre>

    <p>Revised 1 October, 2002</p>

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