internal override long Measure(TCollection values, IMeasuringSerializer <T> serializer, ISerializationContext context, WireType wireType) { var iter = values.GetEnumerator(); try { return(Measure(ref iter, serializer, context, wireType)); } finally { iter?.Dispose(); } }
internal override void WritePacked(ref ProtoWriter.State state, TCollection values, IMeasuringSerializer <T> serializer, WireType wireType) { var iter = values.GetEnumerator(); try { WritePacked(ref state, ref iter, serializer, wireType); } finally { iter?.Dispose(); } }
internal override void WritePacked(ref ProtoWriter.State state, ImmutableArray <T> values, IMeasuringSerializer <T> serializer, WireType wireType) { var iter = new Enumerator(values); WritePacked(ref state, ref iter, serializer, wireType); }
internal override long Measure(ImmutableArray <T> values, IMeasuringSerializer <T> serializer, ISerializationContext context, WireType wireType) { var iter = new Enumerator(values); return(Measure(ref iter, serializer, context, wireType)); }
internal override void WritePacked(ref ProtoWriter.State state, ImmutableSortedSet <T> values, IMeasuringSerializer <T> serializer, WireType wireType) { var iter = values.GetEnumerator(); WritePacked(ref state, ref iter, serializer, wireType); }
internal override long Measure(ImmutableSortedSet <T> values, IMeasuringSerializer <T> serializer, ISerializationContext context, WireType wireType) { var iter = values.GetEnumerator(); return(Measure(ref iter, serializer, context, wireType)); }