using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Google.Protobuf.Collections { public static class RepeatedFieldExtensions { internal static uint CalculateSize(this RepeatedField list, Func sizeComputer) { int size = 0; foreach (var item in list) { size += sizeComputer(item); } return (uint)size; } /* /// /// Calculates the serialized data size, including one tag per value. /// public static int CalculateTotalSize(this RepeatedField list, int tagSize, Func sizeComputer) { if (list.Count == 0) { return 0; } return (int)(dataSize + tagSize * list.Count); } /// /// Calculates the serialized data size, as a packed array (tag, length, data). /// public static int CalculateTotalPackedSize(int tagSize) { if (Count == 0) { return 0; } uint dataSize = CalculateSize(); return tagSize + CodedOutputStream.ComputeRawVarint32Size(dataSize) + (int)dataSize; } */ } }