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
|
|
|
|
|
2018-08-04 16:03:00 -04:00
|
|
|
func New(name string, x _T, opt ...persist.Option) *Var_N {
|
2018-08-03 15:14:10 -04:00
|
|
|
gob.Register(x)
|
2018-08-04 16:03:00 -04:00
|
|
|
ptr := persist.New(name, x, opt...)
|
2018-08-03 15:08:30 -04:00
|
|
|
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()
|
|
|
|
}
|
|
|
|
`
|