Table of Contents

Namespace CStructSharp.Values

Classes

EnumValueResult

Represents an enum payload parsed from binary data.

FlagValueResult

The value read from a flag declaration: an EnumValueResult whose bits are also decomposed into the member names that are set. Name is the single member whose value equals the whole stored value, when one exists; Names lists every set member.

ParseResult

The outcome of a debug parse: the selected struct exactly as Parse returns it, plus one DebugData record per value the reader produced, in read order.

Pointer

Represents a pointer read from a binary layout. It always exposes the stored address and, when pointer reading is enabled, also exposes the value found at that address.

PrimitiveArray<T>

A parsed one-dimensional array of a fixed-width numeric primitive, stored as a T[]. It is the IList<T> of object the documented value table promises for arrays - enumeration, indexing and passing it back to Serialize/Update all work - while Span and ToArray() expose the values without boxing. Like a .NET array it is fixed size: elements can be replaced through the indexer, never added or removed.

ReadResult

The outcome of a debug value read: the selected value exactly as ReadValue returns it, plus one DebugData record per value the reader produced, in read order.

StructValue

A parsed struct: the members of one composite in declaration order, readable through dynamic member access (parsed.length), typed through Get<T>(string) (parsed.Get<uint>("length")), through IDictionary<TKey, TValue> / IReadOnlyDictionary<TKey, TValue> (values["length"]), or by enumerating key/value pairs. Members that a conditional arm did not select are absent rather than null. Values are the same objects the documented value table describes (boxed primitives, string, nested StructValue, IList<T> of object for arrays, UnionValue, Pointer, EnumValueResult). Instances are mutable, so a parsed value can be edited and handed back to Serialize/Update.

UnionValue

Represents the complete storage and overlapping decoded views of a C union without inventing an active member.

Structs

ReadAttempt<T>

The outcome of an awaitable TryReadValueAsync<T> (an out parameter cannot cross an await): either Value with Succeeded set, or the categorized Failure the throwing form would have raised. Cancellation and argument errors are not outcomes; they throw as they do everywhere else.

StructValue.Enumerator

Walks the slot array directly while members sit in shape order (every freshly parsed value) and falls back to the recorded insertion order otherwise.