persist/cmd/pgen/template.go

39 lines
667 B
Go
Raw Normal View History

2018-08-03 15:08:30 -04:00
package main
const template string = `package main
import (
"encoding/gob"
2018-08-03 15:08:30 -04:00
"time"
"unsafe"
"gitlab.wow.st/gmp/persist"
)
type Var_N persist.Var
func New(name string, xs ..._T) *Var_N {
var x _T
gob.Register(x)
2018-08-03 15:08:30 -04:00
if len(xs) > 0 {
x = xs[0]
}
ptr := persist.New(name, x)
ret := (*Var_N)(unsafe.Pointer(ptr))
return ret
}
func (v *Var_N) Set(x _T) error {
ptr := (*persist.Var)(unsafe.Pointer(v))
return ptr.Set(x)
}
func (v *Var_N) Get(ts ...time.Time) _T {
ptr := (*persist.Var)(unsafe.Pointer(v))
return ptr.Get(ts...).(_T)
}
func (v *Var_N) History() ([]persist.TVar, error) {
ptr := (*persist.Var)(unsafe.Pointer(v))
return ptr.History()
}
`