public override void Write(IRowOutputInterface output) { output.WriteInt(base.IBalance); output.WriteInt((this._iLeft == -1) ? 0 : this._iLeft); output.WriteInt((this._iRight == -1) ? 0 : this._iRight); output.WriteInt((this._iParent == -1) ? 0 : this._iParent); }
public void Write(IRowOutputInterface o, ResultMetaData meta) { base.BeforeFirst(); o.WriteLong(base.Id); o.WriteInt(base.Size); o.WriteInt(0); o.WriteInt(base.Size); while (base.HasNext()) { object[] next = base.GetNext(); o.WriteData(meta.GetColumnCount(), meta.ColumnTypes, next, null, null); } base.BeforeFirst(); }
public override void Write(IRowOutputInterface output, IntLookup lookup) { output.WriteInt(base.IBalance); WriteTranslatePointer(this._iLeft, output, lookup); WriteTranslatePointer(this._iRight, output, lookup); WriteTranslatePointer(this._iParent, output, lookup); }
private static void WriteTranslatePointer(int pointer, IRowOutputInterface output, IntLookup lookup) { int i = 0; if (pointer != -1) { i = lookup.LookupFirstEqual(pointer); } output.WriteInt(i); }