public void Write( MutagenWriter writer, T item, RecordType header, bool nullable) { if (item == null) { if (nullable) { return; } throw new ArgumentException("Non optional string was null."); } try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { Write(writer, item); } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void WriteNullable( MutagenWriter writer, ITranslatedStringGetter?item, RecordType header, StringBinaryType binaryType, StringsSource source) { if (item == null) { return; } try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { if (writer.MetaData.StringsWriter == null) { writer.Write( item.String ?? string.Empty, binaryType: binaryType); } else { writer.Write(writer.MetaData.StringsWriter.Register(item, source)); } } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void WriteNullable( MutagenWriter writer, ITranslatedStringGetter?item, RecordType header, StringBinaryType binaryType, StringsSource source) { if (item == null) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { if (writer.MetaData.StringsWriter == null) { writer.Write( item.String, binaryType: binaryType); } else { writer.Write(writer.MetaData.StringsWriter.Register(item, source)); } } }
public void Write( MutagenWriter writer, ReadOnlyMemorySlice <byte>?item, RecordType header, RecordType overflowRecord) { if (!item.HasValue) { return; } if (item.Value.Length > ushort.MaxValue) { using (HeaderExport.Subrecord(writer, overflowRecord)) { writer.Write(item.Value.Length); } using (HeaderExport.Subrecord(writer, header)) { } Write(writer, item.Value.Span); } else { using (HeaderExport.Subrecord(writer, header)) { Write(writer, item.Value.Span); } } }
public static void Write(MutagenWriter writer, float?item, RecordType header, FloatIntegerType integerType, double multiplier) { if (item == null) { return; } using (HeaderExport.Subrecord(writer, header)) { Write(writer, item, integerType, multiplier); } }
public void Write( MutagenWriter writer, E item, RecordType header, long length) { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { WriteValue(writer, item, length); } }
public void Write( MutagenWriter writer, T item, RecordType header, Action <MutagenWriter, T>?write = null) { write ??= this.Write; using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { write(writer, item); } }
public void Write( MutagenWriter writer, FormKey item, RecordType header, bool nullable = false) { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { this.Write( writer, item); } }
public void Write( MutagenWriter writer, string item, RecordType header, StringBinaryType binaryType = StringBinaryType.NullTerminate) { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { writer.Write( item, binaryType: binaryType); } }
public void WriteAsMarker( MutagenWriter writer, bool item, RecordType header) { if (!item) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { // Presence of marker signifies true } }
public void Write( MutagenWriter writer, ReadOnlyMemorySlice <byte>?item, RecordType header) { if (!item.HasValue) { return; } using (HeaderExport.Subrecord(writer, header)) { Write(writer, item.Value.Span); } }
public void WriteNullable( MutagenWriter writer, E?item, RecordType header, long length) { if (!item.HasValue) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { WriteValue(writer, item.Value, length); } }
public void Write( MutagenWriter writer, ITranslatedStringGetter item, RecordType header, StringBinaryType binaryType, StringsSource source) { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { Write( writer, item, binaryType, source); } }
public void WriteNullable( MutagenWriter writer, T?item, RecordType header, Action <MutagenWriter, T>?write = null) { if (!item.HasValue) { return; } write ??= this.Write; using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { write(writer, item.Value); } }
public void WriteNullable( MutagenWriter writer, string?item, RecordType header, StringBinaryType binaryType = StringBinaryType.NullTerminate) { if (item == null) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { writer.Write( item, binaryType: binaryType); } }
public void Write( MutagenWriter writer, E item, RecordType header, long length) { try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { WriteValue(writer, item, length); } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public static void Write(MutagenWriter writer, float?item, RecordType header, FloatIntegerType integerType, double multiplier) { try { if (item == null) { return; } using (HeaderExport.Subrecord(writer, header)) { Write(writer, item, integerType, multiplier); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }
public void Write( MutagenWriter writer, T item, RecordType header, Action <MutagenWriter, T>?write = null) { write ??= this.Write; try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { write(writer, item); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }
public void Write( MutagenWriter writer, string item, RecordType header, StringBinaryType binaryType = StringBinaryType.NullTerminate) { try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { writer.Write( item, binaryType: binaryType); } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void Write( MutagenWriter writer, FormKey item, RecordType header, bool nullable = false) { try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { this.Write( writer, item); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }
public void Dispose() { _tributary.Position = 0; if (_tributary.Length <= ushort.MaxValue) { using (HeaderExport.Subrecord(_writer, _mainRecord)) { _tributary.CopyTo(_writer.BaseStream); } } else { using (HeaderExport.Subrecord(_writer, _extraLengthRecord)) { _writer.Write(checked ((uint)_tributary.Length)); } _writer.Write(_mainRecord.TypeInt); _writer.WriteZeros(2); _tributary.CopyTo(_writer.BaseStream); } }
public void WriteAsMarker( MutagenWriter writer, bool item, RecordType header) { try { if (!item) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { // Presence of marker signifies true } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void Write( MutagenWriter writer, ReadOnlyMemorySlice <byte>?item, RecordType header) { try { if (!item.HasValue) { return; } using (HeaderExport.Subrecord(writer, header)) { Write(writer, item.Value.Span); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }
public void WriteNullable( MutagenWriter writer, E?item, RecordType header, long length) { try { if (!item.HasValue) { return; } using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { WriteValue(writer, item.Value, length); } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void WriteNullable( MutagenWriter writer, T?item, RecordType header, Action <MutagenWriter, T>?write = null) { if (!item.HasValue) { return; } write ??= this.Write; try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { write(writer, item.Value); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }
public void Write( MutagenWriter writer, ITranslatedStringGetter item, RecordType header, StringBinaryType binaryType, StringsSource source) { try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { Write( writer, item, binaryType, source); } } catch (Exception ex) { throw SubrecordException.Factory(ex, header); } }
public void WriteNullable( MutagenWriter writer, string?item, RecordType header, StringBinaryType binaryType = StringBinaryType.NullTerminate) { if (item == null) { return; } try { using (HeaderExport.Header(writer, header, ObjectType.Subrecord)) { writer.Write( item, binaryType: binaryType); } } catch (Exception ex) { throw SubrecordException.Enrich(ex, header); } }