// automatically generated by stateify.

package buffer

import (
	"gvisor.dev/gvisor/pkg/state"
)

func (x *VectorisedView) beforeSave() {}
func (x *VectorisedView) save(m state.Map) {
	x.beforeSave()
	m.Save("views", &x.views)
	m.Save("size", &x.size)
}

func (x *VectorisedView) afterLoad() {}
func (x *VectorisedView) load(m state.Map) {
	m.Load("views", &x.views)
	m.Load("size", &x.size)
}

func init() {
	state.Register("pkg/tcpip/buffer.VectorisedView", (*VectorisedView)(nil), state.Fns{Save: (*VectorisedView).save, Load: (*VectorisedView).load})
}
