Lines Matching defs:value

218         /// <param name="defaultValue">The default value.</param>
222 return new FieldCodec<string>((ref ParseContext ctx) => ctx.ReadString(), (ref WriteContext ctx, string value) => ctx.WriteString(value), CodedOutputStream.ComputeStringSize, tag, defaultValue);
229 /// <param name="defaultValue">The default value.</param>
233 return new FieldCodec<ByteString>((ref ParseContext ctx) => ctx.ReadBytes(), (ref WriteContext ctx, ByteString value) => ctx.WriteBytes(value), CodedOutputStream.ComputeBytesSize, tag, defaultValue);
240 /// <param name="defaultValue">The default value.</param>
244 return new FieldCodec<bool>((ref ParseContext ctx) => ctx.ReadBool(), (ref WriteContext ctx, bool value) => ctx.WriteBool(value), CodedOutputStream.BoolSize, tag, defaultValue);
251 /// <param name="defaultValue">The default value.</param>
255 return new FieldCodec<int>((ref ParseContext ctx) => ctx.ReadInt32(), (ref WriteContext output, int value) => output.WriteInt32(value), CodedOutputStream.ComputeInt32Size, tag, defaultValue);
262 /// <param name="defaultValue">The default value.</param>
266 return new FieldCodec<int>((ref ParseContext ctx) => ctx.ReadSInt32(), (ref WriteContext output, int value) => output.WriteSInt32(value), CodedOutputStream.ComputeSInt32Size, tag, defaultValue);
273 /// <param name="defaultValue">The default value.</param>
277 return new FieldCodec<uint>((ref ParseContext ctx) => ctx.ReadFixed32(), (ref WriteContext output, uint value) => output.WriteFixed32(value), 4, tag, defaultValue);
284 /// <param name="defaultValue">The default value.</param>
288 return new FieldCodec<int>((ref ParseContext ctx) => ctx.ReadSFixed32(), (ref WriteContext output, int value) => output.WriteSFixed32(value), 4, tag, defaultValue);
295 /// <param name="defaultValue">The default value.</param>
299 return new FieldCodec<uint>((ref ParseContext ctx) => ctx.ReadUInt32(), (ref WriteContext output, uint value) => output.WriteUInt32(value), CodedOutputStream.ComputeUInt32Size, tag, defaultValue);
306 /// <param name="defaultValue">The default value.</param>
310 return new FieldCodec<long>((ref ParseContext ctx) => ctx.ReadInt64(), (ref WriteContext output, long value) => output.WriteInt64(value), CodedOutputStream.ComputeInt64Size, tag, defaultValue);
317 /// <param name="defaultValue">The default value.</param>
321 return new FieldCodec<long>((ref ParseContext ctx) => ctx.ReadSInt64(), (ref WriteContext output, long value) => output.WriteSInt64(value), CodedOutputStream.ComputeSInt64Size, tag, defaultValue);
328 /// <param name="defaultValue">The default value.</param>
332 return new FieldCodec<ulong>((ref ParseContext ctx) => ctx.ReadFixed64(), (ref WriteContext output, ulong value) => output.WriteFixed64(value), 8, tag, defaultValue);
339 /// <param name="defaultValue">The default value.</param>
343 return new FieldCodec<long>((ref ParseContext ctx) => ctx.ReadSFixed64(), (ref WriteContext output, long value) => output.WriteSFixed64(value), 8, tag, defaultValue);
350 /// <param name="defaultValue">The default value.</param>
354 return new FieldCodec<ulong>((ref ParseContext ctx) => ctx.ReadUInt64(), (ref WriteContext output, ulong value) => output.WriteUInt64(value), CodedOutputStream.ComputeUInt64Size, tag, defaultValue);
361 /// <param name="defaultValue">The default value.</param>
365 return new FieldCodec<float>((ref ParseContext ctx) => ctx.ReadFloat(), (ref WriteContext output, float value) => output.WriteFloat(value), CodedOutputStream.FloatSize, tag, defaultValue);
372 /// <param name="defaultValue">The default value.</param>
376 return new FieldCodec<double>((ref ParseContext ctx) => ctx.ReadDouble(), (ref WriteContext output, double value) => output.WriteDouble(value), CodedOutputStream.DoubleSize, tag, defaultValue);
388 /// <param name="defaultValue">The default value.</param>
394 (ref WriteContext output, T value) => output.WriteEnum(toInt32(value)),
395 value => CodedOutputStream.ComputeEnumSize(toInt32(value)), tag, defaultValue);
413 (ref WriteContext output, T value) => output.WriteMessage(value),
458 (ref WriteContext output, T value) => output.WriteGroup(value),
495 (ref WriteContext output, T value) => WrapperCodecs.Write<T>(ref output, value, nestedCodec),
498 value => WrapperCodecs.CalculateSize<T>(value, nestedCodec),
500 null); // Default value for the wrapper
512 (ref WriteContext output, T? value) => WrapperCodecs.Write<T>(ref output, value.Value, nestedCodec),
515 value => value == null ? 0 : WrapperCodecs.CalculateSize<T>(value.Value, nestedCodec),
517 null); // Default value for the wrapper
563 /// Returns a field codec which effectively wraps a value of type T in a message.
568 object value;
569 if (!Codecs.TryGetValue(typeof(T), out value))
573 return (FieldCodec<T>) value;
578 object value;
579 if (!Readers.TryGetValue(typeof(T), out value))
583 if (value == null)
590 return (ValueReader<T?>)value;
600 T value = codec.DefaultValue;
605 value = codec.Read(ref ctx);
616 return value;
619 internal static void Write<T>(ref WriteContext ctx, T value, FieldCodec<T> codec)
621 ctx.WriteLength(codec.CalculateSizeWithTag(value));
622 codec.WriteTagAndValue(ref ctx, value);
625 internal static int CalculateSize<T>(T value, FieldCodec<T> codec)
627 int fieldLength = codec.CalculateSizeWithTag(value);
634 internal delegate void ValueWriter<T>(ref WriteContext ctx, T value);
639 /// all the information needed to read or write the field value from/to a coded
655 // Only non-nullable value types support packing. This is the simplest way of detecting that.
659 /// Merges an input stream into a value
661 internal delegate void InputMerger(ref ParseContext ctx, ref T value);
664 /// Merges a value into a reference to another value, returning a boolean if the value was set
666 internal delegate bool ValuesMerger(ref T value, T other);
678 // Otherwise it's the default value of the CLR type
687 /// Returns a delegate to write a value (unconditionally) to a coded output stream.
692 /// Returns the size calculator for just a value.
697 /// Returns a delegate to read a value from a coded input stream. It is assumed that
703 /// Returns a delegate to merge a value from a coded input stream.
721 /// <value>
723 /// </value>
729 /// <value>
731 /// </value>
735 /// Default value for this codec. Usually the same for every instance of the same type, but
736 /// for string/ByteString wrapper fields the codec's default value is null, whereas for
739 /// <value>
740 /// The default value of the codec's type.
741 /// </value>
803 /// Write a tag and the given value, *if* the value is not the default.
805 public void WriteTagAndValue(CodedOutputStream output, T value)
810 WriteTagAndValue(ref ctx, value);
818 //if (!IsDefault(value))
821 // ValueWriter(output, value);
830 /// Write a tag and the given value, *if* the value is not the default.
832 public void WriteTagAndValue(ref WriteContext ctx, T value)
834 if (!IsDefault(value))
837 ValueWriter(ref ctx, value);
846 /// Reads a value of the codec type from the given <see cref="CodedInputStream"/>.
849 /// <returns>The value read from the stream.</returns>
864 /// Reads a value of the codec type from the given <see cref="ParseContext"/>.
867 /// <returns>The value read.</returns>
874 /// Calculates the size required to write the given value, with a tag,
875 /// if the value is not the default.
877 public int CalculateSizeWithTag(T value) => IsDefault(value) ? 0 : ValueSizeCalculator(value) + tagSize;
879 private bool IsDefault(T value) => EqualityComparer.Equals(value, DefaultValue);