public void EncodeKey <T1>(ref SliceWriter writer, T1 item1)
        {
            var tw = new TupleWriter(writer);

            FdbTuplePacker <T1> .SerializeTo(ref tw, item1);

            writer = tw.Output;
        }
        public void EncodeKey <T1, T2, T3, T4>(ref SliceWriter writer, T1 item1, T2 item2, T3 item3, T4 item4)
        {
            var tw = new TupleWriter(writer);

            FdbTuplePacker <T1> .SerializeTo(ref tw, item1);

            FdbTuplePacker <T2> .SerializeTo(ref tw, item2);

            FdbTuplePacker <T3> .SerializeTo(ref tw, item3);

            FdbTuplePacker <T4> .SerializeTo(ref tw, item4);

            writer = tw.Output;
        }
        public void EncodeKey <T1, T2, T3, T4, T5, T6, T7>(ref SliceWriter writer, T1 item1, T2 item2, T3 item3, T4 item4, T5 item5, T6 item6, T7 item7)
        {
            var tw = new TupleWriter(writer);

            FdbTuplePacker <T1> .SerializeTo(ref tw, item1);

            FdbTuplePacker <T2> .SerializeTo(ref tw, item2);

            FdbTuplePacker <T3> .SerializeTo(ref tw, item3);

            FdbTuplePacker <T4> .SerializeTo(ref tw, item4);

            FdbTuplePacker <T5> .SerializeTo(ref tw, item5);

            FdbTuplePacker <T6> .SerializeTo(ref tw, item6);

            FdbTuplePacker <T7> .SerializeTo(ref tw, item7);

            writer = tw.Output;
        }
 /// <summary>Pack this tuple into a buffer</summary>
 public void PackTo(ref TupleWriter writer)
 {
     this.Head.PackTo(ref writer);
     FdbTuplePacker <T> .SerializeTo(ref writer, this.Tail);
 }