h(arr|any|slice)v?_ptr
This commit is contained in:
parent
a3be4dbd96
commit
15401e8dfb
@ -108,8 +108,12 @@ static B m_hunit(B x) { // consumes
|
||||
return r.b;
|
||||
}
|
||||
|
||||
static B* harr_ptr(B x) { VTY(x,t_harr); return c(HArr,x)->a; }
|
||||
static B* hany_ptr(B x) { return TY(x)==t_hslice? c(HSlice,x)->a : harr_ptr(x); }
|
||||
static B* harrv_ptr(void* x) { u8 t = PTY((Value*)x); assert(t==t_harr || t==t_harrPartial); return ((HArr*)x)->a; }
|
||||
static B* hslicev_ptr(void* x) { VTY(taga(x),t_hslice); return ((HSlice*)x)->a; }
|
||||
static B* hanyv_ptr(void* x) { return PTY((Value*)x)==t_hslice? hslicev_ptr(x) : harrv_ptr(x); }
|
||||
static B* harr_ptr(B x) { return harrv_ptr(a(x)); }
|
||||
static B* hslice_ptr(B x) { return hslicev_ptr(a(x)); }
|
||||
static B* hany_ptr(B x) { return hanyv_ptr(a(x)); }
|
||||
|
||||
Arr* cpyHArr(B x); // consumes
|
||||
static HArr* toHArr(B x) { return TY(x)==t_harr? c(HArr,x) : (HArr*) cpyHArr(x); }
|
||||
|
||||
Loading…
Reference in New Issue
Block a user