VectorRef

Usage

use VectorRef;

or

import VectorRef;
record vectorRef : writeSerializable

a transparent record that iterators can yield, takes in modifications to the yielded vector and then writes them back out to the raw address when this goes out of scope

type vectorType
param aligned : bool
var vec : vectorType
var address : c_ptr(vectorType.eltType)
proc init(type vectorType, param aligned: bool = false)
proc init(vec: ?vecType, address: c_ptr(vecType.eltType), param aligned: bool = false)
proc init(type vectorType, address: c_ptr(vectorType.eltType), param aligned: bool = false)
proc deinit()
proc commitChanges()
proc serialize(writer, ref serializer) throws
operator +(lhs: ?lhsType, rhs: ?rhsType) : returnTypeForOpTypes(lhsType, rhsType)  where validTypesForOp(lhsType, rhsType)
operator +=(ref lhs: vectorRef(?), rhs: ?rhsType)  where validEqOperatorTypes(lhs.type, rhsType)
operator -(lhs: ?lhsType, rhs: ?rhsType) : returnTypeForOpTypes(lhsType, rhsType)  where validTypesForOp(lhsType, rhsType)
operator -=(ref lhs: vectorRef(?), rhs: ?rhsType)  where validEqOperatorTypes(lhs.type, rhsType)
operator *(lhs: ?lhsType, rhs: ?rhsType) : returnTypeForOpTypes(lhsType, rhsType)  where validTypesForOp(lhsType, rhsType)
operator *=(ref lhs: vectorRef(?), rhs: ?rhsType)  where validEqOperatorTypes(lhs.type, rhsType)
proc init=(other: ?vecType)  where isSubtype(vecType, vector)
operator =(ref lhs: vectorRef(?vecType), rhs: vecType)
operator :(v: ?vecType, type t: vectorRef(vecType, ?)) : t
proc validEqOperatorTypes(type lhsType, type rhsType) param : bool