Class MemoryValidity
- Namespace
- CStructSharp.Memory
- Assembly
- CStructSharp.dll
Immutable known-byte intervals of a captured buffer. Unlisted bytes provide no evidence, including zero-filled presentation bytes.
public sealed class MemoryValidity
- Inheritance
-
MemoryValidity
- Inherited Members
Constructors
MemoryValidity(int, IEnumerable<MemoryByteRange>, int)
Snapshots, validates, sorts and merges known intervals.
public MemoryValidity(int length, IEnumerable<MemoryByteRange> readable, int maxRanges = 1000000)
Parameters
lengthintTotal buffer length in bytes.
readableIEnumerable<MemoryByteRange>Known intervals, independent of their stored byte values.
maxRangesintBound on input interval count, including duplicates.
Exceptions
- ArgumentOutOfRangeException
Lengths, offsets or range limits are invalid.
Properties
Length
Gets the total storage length, including unknown bytes.
public int Length { get; }
Property Value
ReadableRanges
Gets disjoint known intervals in buffer order.
public IReadOnlyList<MemoryByteRange> ReadableRanges { get; }
Property Value
Methods
IsKnown(int, int)
Checks that every byte required by a rule is known.
public bool IsKnown(int offset, int length)
Parameters
Returns
- bool
False for invalid bounds or any unknown byte; true for a bounded empty request.