Module ForeignPointer provides an interface to encapsulated raw 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 Oz_Extension class instead, to encapsulate your C++ data structures into new Oz (abstract) datatypes.
IsForeignPointer {ForeignPointer.is +X ?B}
tests whether X is a foreign pointer
toInt {ForeignPointer.toInt +X ?I}
converts a foreign pointer to an integer. Two foreign pointers convert to the same integer iff they point to the same location.