/// <summary> /// Writes a System.Segment object into this stream. /// </summary> /// <param name="stream">This stream.</param> /// <param name="mapping">A System.Segment object.</param> internal static void WriteSegmentMapping(this Stream stream, SegmentMapping mapping, bool validityCheck = false) { if (validityCheck) { stream.WriteCheckCode(IOChecks.Common); } stream.WriteInt32(mapping.OriginalStartPosition); stream.WriteInt32(mapping.OriginalEndPosition); stream.WriteInt32(mapping.MappingStartPosition); stream.WriteInt32(mapping.MappingEndPosition); }
/// <summary> /// Reads a System.Segment object from this stream. /// </summary> /// <param name="stream">This stream.</param> /// <returns>A System.Segment object.</returns> internal static SegmentMapping ReadSegmentMapping(this Stream stream, bool validityCheck = false) { if (!validityCheck || stream.Check(IOChecks.Common)) { var b = new SegmentMapping(); b.OriginalStartPosition = stream.ReadInt32(); b.OriginalEndPosition = stream.ReadInt32(); b.MappingStartPosition = stream.ReadInt32(); b.MappingEndPosition = stream.ReadInt32(); return(b); } else { throw new InvalidDataException(IOResources.ERR_StreamExtension_DataIrrecognizable); } }