<!-- 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 http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" type="text/css" href="../../../../boost.css">
<title>Boost.Python - Dereferenceable Concept</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">Dereferenceable Concept</h2>
    </td>
  </tr>
</table>
<hr>
<dl class="page-index"> 
  <dt><a href="#introduction">Introduction</a></dt>
  <dt><a href="#concept-requirements">Concept Requirements</a></dt>
  <dl class="page-index"> 
    <dt><a href="#Dereferenceable-concept">Dereferenceable Concept</a></dt>
  </dl>
</dl>

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

<p>Instances of a Dereferenceable type can be used like a pointer to access an lvalue.

<h2><a name="concept-requirements"></a>Concept Requirements</h2>
<h3><a name="Dereferenceable-concept"></a>Dereferenceable Concept</h3>

<p>In the table below, <code><b>T</b></code> is a model of
Dereferenceable, and <code><b>x</b></code> denotes an object of
type <code>T</code>.  In addition, all pointers are Dereferenceable.

<table summary="Dereferenceable expressions" border="1" cellpadding="5">

  <tr> 
    <td><b>Expression</b></td>
    <td><b>Result</b></td>
    <td><b>Operational Semantics</b></td>
  </tr>

  <tr> 
    <td><code>get_pointer(x)</code></td>
    <td>convertible to <code><a href="pointee.html#pointee-spec">pointee</a>&lt;T&gt;::type*</code>
    <td><code>&amp;*x</code>, or a null pointer
  </tr>
<tr>

</table>

<hr>
<p>Revised 
  <!--webbot bot="Timestamp" S-Type="EDITED" S-Format="%d %B, %Y" startspan -->
  18 December, 2003
  <!--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>Permission to copy, use, modify, sell
 and distribute this software is granted provided this copyright notice appears
 in all copies. This software is provided "as is" without express or implied
 warranty, and with no claim as to its suitability for any purpose.
</body>
</html>
