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