Table of Contents

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

length int

Total buffer length in bytes.

readable IEnumerable<MemoryByteRange>

Known intervals, independent of their stored byte values.

maxRanges int

Bound 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

int

ReadableRanges

Gets disjoint known intervals in buffer order.

public IReadOnlyList<MemoryByteRange> ReadableRanges { get; }

Property Value

IReadOnlyList<MemoryByteRange>

Methods

IsKnown(int, int)

Checks that every byte required by a rule is known.

public bool IsKnown(int offset, int length)

Parameters

offset int

Buffer-relative byte offset.

length int

Required byte count.

Returns

bool

False for invalid bounds or any unknown byte; true for a bounded empty request.