package sqlite3_wrap

import (
	
	
	

	
)

const (
	PtrLen = 4
	IntLen = 4
)

type (
	Ptr_t uint32
	Res_t int32
)

func ( *Memory) ( Ptr_t,  int64) []byte {
	if  == 0 {
		panic(errutil.NilErr)
	}
	return .Buf[:][::]
}

func ( *Memory) ( Ptr_t) byte {
	if  == 0 {
		panic(errutil.NilErr)
	}
	return .Buf[]
}

func ( *Memory) ( Ptr_t,  byte) {
	if  == 0 {
		panic(errutil.NilErr)
	}
	.Buf[] = 
}

func ( *Memory) ( Ptr_t) uint32 {
	if  == 0 {
		panic(errutil.NilErr)
	}
	return binary.LittleEndian.Uint32(.Buf[:])
}

func ( *Memory) ( Ptr_t,  uint32) {
	if  == 0 {
		panic(errutil.NilErr)
	}
	binary.LittleEndian.PutUint32(.Buf[:], )
}

func ( *Memory) ( Ptr_t) uint64 {
	if  == 0 {
		panic(errutil.NilErr)
	}
	return binary.LittleEndian.Uint64(.Buf[:])
}

func ( *Memory) ( Ptr_t,  uint64) {
	if  == 0 {
		panic(errutil.NilErr)
	}
	binary.LittleEndian.PutUint64(.Buf[:], )
}

func ( *Memory) ( Ptr_t) float64 {
	return math.Float64frombits(.Read64())
}

func ( *Memory) ( Ptr_t,  float64) {
	.Write64(, math.Float64bits())
}

func ( *Memory) ( Ptr_t) bool {
	return .Read32() != 0
}

func ( *Memory) ( Ptr_t,  bool) {
	var  uint32
	if  {
		 = 1
	}
	.Write32(, )
}

func ( *Memory) ( Ptr_t,  int64) string {
	if  == 0 {
		panic(errutil.NilErr)
	}
	if  <= 0 {
		return ""
	}
	 := .Buf[:]
	if int64(len()) >  {
		 = [:]
	}
	if , ,  := bytes.Cut(, []byte{0});  {
		return string()
	}
	panic(errutil.NoNulErr)
}

func ( *Memory) ( Ptr_t,  []byte) {
	 := .Bytes(, int64(len()))
	copy(, )
}

func ( *Memory) ( Ptr_t,  string) {
	 := .Bytes(, int64(len())+1)
	[len()] = 0
	copy(, )
}