Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
MemoryBlockProvider.cs
Go to the documentation of this file.
1using System.IO;
2
4
5internal abstract class MemoryBlockProvider : IDisposable
6{
7 public abstract int Size { get; }
8
10 {
11 return GetMemoryBlockImpl(0, Size);
12 }
13
15 {
16 if ((ulong)((long)(uint)start + (long)(uint)size) > (ulong)Size)
17 {
19 }
20 return GetMemoryBlockImpl(start, size);
21 }
22
23 protected abstract AbstractMemoryBlock GetMemoryBlockImpl(int start, int size);
24
25 public abstract Stream GetStream(out StreamConstraints constraints);
26
27 protected abstract void Dispose(bool disposing);
28
29 public void Dispose()
30 {
31 Dispose(disposing: true);
32 GC.SuppressFinalize(this);
33 }
34}
static void SuppressFinalize(object obj)
Definition GC.cs:202
Definition GC.cs:8
Stream GetStream(out StreamConstraints constraints)
AbstractMemoryBlock GetMemoryBlockImpl(int start, int size)
AbstractMemoryBlock GetMemoryBlock(int start, int size)
static void ImageTooSmallOrContainsInvalidOffsetOrCount()
Definition Throw.cs:236