2018-08-03 15:08:30 -04:00
|
|
|
package main
|
|
|
|
const template string = `package main
|
|
|
|
|
|
|
|
import (
|
2018-08-03 15:14:10 -04:00
|
|
|
"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
|
2018-08-03 15:14:10 -04:00
|
|
|
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()
|
|
|
|
}
|
|
|
|
`
|