Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MemoryStreamAdapter.cs
Go to the documentation of this file.
1using System.IO;
2
4
5[DataContract(Name = "MemoryStream", Namespace = "http://schemas.datacontract.org/2004/07/System.IO")]
7{
8 [DataMember(Name = "_buffer", Order = 1)]
9 public byte[] Buffer { get; set; }
10
11 [DataMember(Name = "_capacity", Order = 2)]
12 public int Capacity { get; set; }
13
14 [DataMember(Name = "_expandable", Order = 3)]
15 public bool Expandable { get; set; }
16
17 [DataMember(Name = "_exposable", Order = 4)]
18 public bool Exposable { get; set; }
19
20 [DataMember(Name = "_isOpen", Order = 5)]
21 public bool IsOpen { get; set; }
22
23 [DataMember(Name = "_length", Order = 6)]
24 public int Length { get; set; }
25
26 [DataMember(Name = "_origin", Order = 7)]
27 public int Origin { get; set; }
28
29 [DataMember(Name = "_position", Order = 8)]
30 public int Position { get; set; }
31
32 [DataMember(Name = "_writable", Order = 9)]
33 public bool Writable { get; set; }
34
36 {
37 byte[] array = value.Buffer;
38 Span<byte> span = value.Buffer.AsSpan(value.Origin, value.Length - value.Origin);
39 if (span.Length < array.Length)
40 {
41 array = span.ToArray();
42 }
43 MemoryStream memoryStream = new MemoryStream(array, 0, array.Length, value.Writable, value.Exposable);
44 int num = value.Position - value.Origin;
46 {
47 throw new InvalidOperationException();
48 }
50 return memoryStream;
51 }
52
81}
static MemoryStream GetMemoryStream(MemoryStreamAdapter value)
static MemoryStreamAdapter GetMemoryStreamAdapter(MemoryStream memoryStream)
T[] ToArray()
Definition Span.cs:291