コード例 #1
0
ファイル: bmh.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (s *RBMHSequence) Save(ls *persist.LoadSaver) {
	ls.SaveByte(rbmhLoader)
	ls.SaveBytes(s.Seq)
	for _, v := range s.Shift {
		ls.SaveSmallInt(v)
	}
}
コード例 #2
0
ファイル: sets.go プロジェクト: richardlehane/siegfried
func (ss *seqSet) save(ls *persist.LoadSaver) {
	ls.SaveSmallInt(len(ss.set))
	for _, v := range ss.set {
		ls.SaveBigInts(v.MaxOffsets)
		ls.SaveSmallInt(len(v.Choices))
		for _, w := range v.Choices {
			ls.SaveSmallInt(len(w))
			for _, x := range w {
				ls.SaveBytes(x)
			}
		}
	}
	ls.SaveInts(ss.testTreeIndex)
}
コード例 #3
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (s Sequence) Save(ls *persist.LoadSaver) {
	ls.SaveByte(sequenceLoader)
	ls.SaveBytes(s)
}
コード例 #4
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
func (r Range) Save(ls *persist.LoadSaver) {
	ls.SaveByte(rangeLoader)
	ls.SaveBytes(r.From)
	ls.SaveBytes(r.To)
}
コード例 #5
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (m Mask) Save(ls *persist.LoadSaver) {
	ls.SaveByte(maskLoader)
	m.pat.Save(ls)
	ls.SaveBytes(m.val)
}
コード例 #6
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (c IgnoreCase) Save(ls *persist.LoadSaver) {
	ls.SaveByte(ignoreCaseLoader)
	ls.SaveBytes(c)
}
コード例 #7
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (n Host32) Save(ls *persist.LoadSaver) {
	ls.SaveByte(host32Loader)
	buf := make([]byte, 4)
	binary.LittleEndian.PutUint32(buf, uint32(n))
	ls.SaveBytes(buf)
}
コード例 #8
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (n Host16) Save(ls *persist.LoadSaver) {
	ls.SaveByte(host16Loader)
	buf := make([]byte, 2)
	binary.LittleEndian.PutUint16(buf, uint16(n))
	ls.SaveBytes(buf)
}
コード例 #9
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (n Big32) Save(ls *persist.LoadSaver) {
	ls.SaveByte(big32Loader)
	buf := make([]byte, 4)
	binary.BigEndian.PutUint32(buf, uint32(n))
	ls.SaveBytes(buf)
}
コード例 #10
0
ファイル: patterns.go プロジェクト: richardlehane/siegfried
// Save persists the pattern.
func (n Big16) Save(ls *persist.LoadSaver) {
	ls.SaveByte(big16Loader)
	buf := make([]byte, 2)
	binary.BigEndian.PutUint16(buf, uint16(n))
	ls.SaveBytes(buf)
}