Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bd5c3d824c3db63ffd9226c15941e6ad > files > 136

mozart-1.4.0-1mdv2010.0.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>12.2 Foreign Pointers</TITLE><LINK href="ozdoc.css" rel="stylesheet" type="text/css"></HEAD><BODY><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="bitstring.html#section.misc.bitstrings">&lt;&lt; Prev</A></TD><TD><A href="node15.html">- Up -</A></TD></TR></TABLE><DIV id="section.misc.foreignpointers"><H2><A name="section.misc.foreignpointers">12.2 Foreign Pointers</A></H2><P>Module <A name="label791"></A><SPAN class="index"><CODE>ForeignPointer</CODE></SPAN> provides an interface to encapsulated <EM>raw</EM> pointers to foreign data. This is useful for implementors of foreign libraries: any C pointer can be encapsulated as a ForeignPointer and passed around as an Oz value. However, you should consider subclassing the <CODE>Oz_Extension</CODE> class instead, to encapsulate your C++ data structures into new Oz (abstract) datatypes. </P><DL><DT><A name="label792"></A><SPAN class="index"><CODE>IsForeignPointer</CODE></SPAN> <A name="label794"></A></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{ForeignPointer<SPAN class="keyword">.</SPAN>is&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>B</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>tests whether <CODE><I>X</I></CODE> is a foreign pointer</P></DD><DT><A name="label797"></A><SPAN class="index"><CODE>toInt</CODE> <A name="label796"></A></SPAN></DT><DD><BLOCKQUOTE class="synopsis"><P><CODE>{ForeignPointer<SPAN class="keyword">.</SPAN>toInt&nbsp;</CODE><CODE>+<I>X</I></CODE><CODE>&nbsp;</CODE><CODE>?<I>I</I></CODE><CODE>}</CODE></P></BLOCKQUOTE></DD><DD><P>converts a foreign pointer to an integer. Two foreign pointers convert to the same integer iff they point to the same location.</P></DD></DL><P></P></DIV><TABLE align="center" border="0" cellpadding="6" cellspacing="6" class="nav"><TR bgcolor="#DDDDDD"><TD><A href="bitstring.html#section.misc.bitstrings">&lt;&lt; Prev</A></TD><TD><A href="node15.html">- Up -</A></TD></TR></TABLE><HR><ADDRESS><A href="http://www.ps.uni-sb.de/~duchier/">Denys&nbsp;Duchier</A>, <A href="http://www.ps.uni-sb.de/~kornstae/">Leif&nbsp;Kornstaedt</A> and&nbsp;<A href="http://www.ps.uni-sb.de/~schulte/">Christian&nbsp;Schulte</A><BR><SPAN class="version">Version 1.4.0 (20090610)</SPAN></ADDRESS></BODY></HTML>