Lines Matching refs:codec
52 private FieldCodec<T> codec;
54 internal ExtensionValue(FieldCodec<T> codec)
56 this.codec = codec;
57 field = codec.DefaultValue;
62 return codec.CalculateSizeWithTag(field);
67 return new ExtensionValue<T>(codec)
79 && codec.Equals((other as ExtensionValue<T>).codec)
81 // we check for equality in the codec since we could have equal field values however the values could be written in different ways
90 hash = hash * 31 + codec.GetHashCode();
97 codec.ValueMerger(ref ctx, ref field);
105 codec.FieldMerger(ref field, extensionValue.field);
111 ctx.WriteTag(codec.Tag);
112 codec.ValueWriter(ref ctx, field);
113 if (codec.EndTag != 0)
115 ctx.WriteTag(codec.EndTag);
142 private readonly FieldCodec<T> codec;
144 internal RepeatedExtensionValue(FieldCodec<T> codec)
146 this.codec = codec;
152 return field.CalculateSize(codec);
157 return new RepeatedExtensionValue<T>(codec)
170 && codec.Equals((other as RepeatedExtensionValue<T>).codec);
179 hash = hash * 31 + codec.GetHashCode();
186 field.AddEntriesFrom(ref ctx, codec);
199 field.WriteTo(ref ctx, codec);