public void Save(Latino.BinarySerializer binWrt) { binWrt.WriteBool(dictSubNodes != null); if (dictSubNodes != null) { binWrt.WriteInt(dictSubNodes.Count); foreach (KeyValuePair <char, LemmaTreeNode> kvp in dictSubNodes) { binWrt.WriteChar(kvp.Key); kvp.Value.Save(binWrt); } } binWrt.WriteInt(iSimilarity); binWrt.WriteString(sCondition); binWrt.WriteBool(bWholeWord); binWrt.WriteString(lrBestRule.Signature); binWrt.WriteInt(aBestRules.Length); for (int i = 0; i < aBestRules.Length; i++) { binWrt.WriteString(aBestRules[i].Rule.Signature); binWrt.WriteDouble(aBestRules[i].Weight); } binWrt.WriteDouble(dWeight); binWrt.WriteInt(iStart); binWrt.WriteInt(iEnd); }
public void Save(Latino.BinarySerializer binWrt, bool bThisTopObject) { //save metadata binWrt.WriteBool(bThisTopObject); //save value types -------------------------------------- binWrt.WriteString(sWord); binWrt.WriteString(sLemma); binWrt.WriteString(sSignature); if (sMsd == null) { binWrt.WriteBool(false); } else { binWrt.WriteBool(true); binWrt.WriteString(sMsd); } binWrt.WriteDouble(dWeight); //save refernce types if needed ------------------------- if (bThisTopObject) { lsett.Save(binWrt); lrRule.Save(binWrt, false); } }