public static void Encode <T1, T2, T3>(ref SliceWriter writer, [NotNull] IOrderedTypeCodec <T1> codec1, T1 value1, [NotNull] IOrderedTypeCodec <T2> codec2, T2 value2, [NotNull] IOrderedTypeCodec <T3> codec3, T3 value3) { Contract.Assert(codec1 != null && codec2 != null && codec3 != null); codec1.EncodeOrderedSelfTerm(ref writer, value1); codec2.EncodeOrderedSelfTerm(ref writer, value2); codec3.EncodeOrderedSelfTerm(ref writer, value3); }
public override void WriteKeyPartsTo(ref SliceWriter writer, int count, ref (T1, T2) items) { Contract.Requires(count > 0); if (count >= 1) { m_codec1.EncodeOrderedSelfTerm(ref writer, items.Item1); } if (count >= 2) { m_codec2.EncodeOrderedSelfTerm(ref writer, items.Item2); } }
public override Slice EncodeComposite(FdbTuple <T1, T2> items, int count) { Contract.Requires(count > 0); var writer = SliceWriter.Empty; if (count >= 1) { m_codec1.EncodeOrderedSelfTerm(ref writer, items.Item1); } if (count >= 2) { m_codec2.EncodeOrderedSelfTerm(ref writer, items.Item2); } return(writer.ToSlice()); }
public static void Partial <T1>(ref SliceWriter writer, IOrderedTypeCodec <T1> codec1, T1 value1) { Contract.Assert(codec1 != null); codec1.EncodeOrderedSelfTerm(ref writer, value1); }