File: opaque_pointer_converter.html

package info (click to toggle)
boost 1.33.1-10
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 100,948 kB
  • ctags: 145,103
  • sloc: cpp: 573,492; xml: 49,055; python: 15,626; ansic: 13,588; sh: 2,099; yacc: 858; makefile: 660; perl: 427; lex: 111; csh: 6
file content (142 lines) | stat: -rw-r--r-- 4,764 bytes parent folder | download
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">

<html>
  <head>
    <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/opaque_pointer_converter.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/opaque_pointer_converter.hpp&gt;</h2>
        </td>
      </tr>
    </table>
    <hr>

    <h2>Contents</h2>

    <dl class="page-index">
      <dt><a href="#classes">Classes</a></dt>

      <dd>
        <dl class="page-index">
          <dt><a href="#opaque_pointer_converter-spec">Class template
          <code>opaque_pointer_converter&lt;P&gt;</code></a></dt>

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

      <dt><a href="#macros">Macros</a></dt>
      <dd>
        <dl class="page-index">
          <dt><a href="#BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID-spec">Macro
          <code>BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID</code></a></dt>
        </dl>
      </dd>

      <dt><a href="#examples">Example</a></dt>

      <dt><a href="#see-also">See Also</a></dt>
    </dl>
    <hr>

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

    <h3><a name="opaque_pointer_converter-spec"></a>Class template
    <code>opaque_pointer_converter&lt;P&gt;</code></h3>

    <p><code>opaque_pointer_converter&lt;&gt;</code> is derived from 
          <a href="to_python_converter.html#to_python_converter-spec">
            <code>to_python_converter</code></a>
          and registers itself as an
          <a href="lvalue_from_pytype.html#lvalue_from_pytype-spec">
            <code>lvalue_from_pytype</code></a> converter from Python objects
          into pointers to undefined types.
            Thus it may be used as a converter from opaque pointers into
          Python objects and vice versa.</p>

    <h4><a name="opaque_pointer_converter-spec-synopsis"></a>Class template
    <code>opaque_pointer_converter</code> synopsis</h4>
<pre>
namespace boost { namespace python
{
    template&lt;class Pointer&gt;
    struct opaque_pointer_converter
        : to_python_converter&lt;
          Pointer, opaque_pointer_converter&lt;Pointer&gt; &gt;
    {
        explicit opaque_pointer_converter(char const* name);
    };
}}
</pre>

    <h4><a name="opaque_pointer_converter-spec-constructor"></a>Class template
    <code>opaque_pointer_converter</code> constructor</h4>
<pre>
explicit opaque_pointer_converter(char const* name);
</pre>

    <dl class="function-semantics">
      <dt><b>Effects:</b>
            <p>Registers the instance as a 
            <a href="lvalue_from_pytype.html#lvalue_from_pytype-spec">
              <code>lvalue_from_pytype</code></a> converter from Python objects
            into opaque pointers.</p>
            <p>The name is used for the type of the Python Objects created;
              it should be printable but needn't be an 
              <a href="definitions.html#ntbs">ntbs</a> because the object type is
              not supposed to be user constructible within python scripts.</p>
          </dt>
    </dl>

    <h2><a name="macros"></a>Macros</h2>

    <h3><a name="BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID-spec"></a>
      Macro BOOST_PYTHON_OPAQUE_SPECIALIZED_TYPE_ID(Pointee)</h3>
    <p>This macro must be used to define specializations of the 
      <a href="type_id.html#type_id-spec">type_id</a> function
      which can't be instantiated for incomplete types.</p>
    <h4>Note</h4>
    <p>In order for this to work in a cross-module environment the macro must
      be invoked in every translation unit which uses the
      opaque_pointer_converter.</p>

    <h2><a name="examples"></a>Example</h2>

        please see example for <a href="return_opaque_pointer.html#examples">
          return_opaque_pointer</a>.

    <h2><a name="see-also"></a>See Also</h2>
        <p>
          <a href="return_opaque_pointer.html">return_opaque_pointer</a>
        </p>

    <p>Revised 
  10 March, 2003
    </p>

    <p><i>&copy; Copyright 2003 Haufe Mediengruppe. All Rights
    Reserved.</i></p>
  </body>
</html>