Pointer[A: A]
A Pointer[A] is a raw memory pointer. It has no descriptor and thus can't be included in a union or intersection, or be a subtype of any interface. Most functions on a Pointer[A] are private to maintain memory safety.
struct ref Pointer[A: A]
Constructors
create
A null pointer.
new ref create() : Pointer[A] ref^
Returns
- Pointer[A] ref^
Public Functions
offset
Return a tag pointer to the n-th element.
fun tag offset( n: USize val) : Pointer[A] tag
Parameters
- n: USize val
Returns
- Pointer[A] tag
usize
Convert the pointer into an integer.
fun tag usize() : USize val
Returns
- USize val
is_null
Return true for a null pointer, false for anything else.
fun tag is_null() : Bool val
Returns
- Bool val
eq
Return true if this address is that address.
fun tag eq( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
lt
Return true if this address is less than that address.
fun tag lt( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
ne
fun tag ne( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
le
fun tag le( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
ge
fun tag ge( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
gt
fun tag gt( that: Pointer[A] tag) : Bool val
Parameters
- that: Pointer[A] tag
Returns
- Bool val
hash
Returns a hash of the address.
fun tag hash() : USize val
Returns
- USize val
hash64
Returns a 64-bit hash of the address.
fun tag hash64() : U64 val
Returns
- U64 val
© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/builtin-Pointer