word/word_struct
library
Classes
BitData
BitData
contain bits for setters - Cannot be extension type
allows pass by pointer
use by BitsMap. BitsStuct, BoolMap, etc.
BitField
/////////////////////////////////////////////////////////////////////////////
BitField
Key for BitStruct and BitFieldMap
as mixin, applicable to enum
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
A Bit-field is a class data member with explicit size, in bits.
https://en.cppreference.com/w/cpp/language/bit_field
https://learn.microsoft.com/en-us/cpp/c-language/c-bit-fields?view=msvc-170
BitFieldMap <K extends BitField >
BitFieldMap
BitIndexField
BitIndexField /// Special case: single-bit field addressed by index.
Bitmask
Bitmask
BitsInitializer <K extends BitField >
BitsInitializer
compile time const definition using map literal
example = BitsInitializer({
EnumType.name1: 2,
EnumType.name2: 3,
});
BitsMap <K , V >
BitsMap
Common interface for [BitFieldMap, BoolMap .
Enforce concrete keys as base.
A special case of FixedMap , all values retrieve from a Bits object
Map operators implemented by subclass depending on V type, int or bool.
BitStructBase <T extends BitStructBase <T , K > , K extends BitField >
/////////////////////////////////////////////////////////////////////////////
BitStructBase — abstract base for user-defined bit struct subtypes.
Analogue of StructBase for the bit domain.
Bool
Represents a native bool in C.
BoolMap <K extends dynamic >
BoolMap
ConstBitFieldMap <K extends BitField >
ConstBits
ConstBoolMap <K extends dynamic >
Double
Represents a native 64 bit double in C.
Float
Represents a native 32 bit float in C.
Int16
Represents a native signed 16 bit integer in C.
Int32
Represents a native signed 32 bit integer in C.
Int64
Represents a native signed 64 bit integer in C.
Int8
Represents a native signed 8 bit integer in C.
MutableBitFieldMap <K extends BitField >
MutableBits
base for Map or Struct
MutableBoolMap <K extends dynamic >
NativeType
NativeType 's subtypes represent a native type in C.
Struct
The supertype of all FFI struct types.
TypedField <T extends NativeType >
StructField /NativeKey/StructKey, Typed 0,1,2,4,8 bytes
Uint16
Represents a native unsigned 16 bit integer in C.
Uint32
Represents a native unsigned 32 bit integer in C.
Uint64
Represents a native unsigned 64 bit integer in C.
Uint8
Represents a native unsigned 8 bit integer in C.
WordBase <T extends WordBase <T , K > , K extends WordField <NativeType > >
WordField <V extends NativeType >
a field within a WordStruct
interface for including TypedField<T> , Enum
type ensures bitmask is power of 2
Extension Types
BitForm
BitForm — zero-cost wrapper over a List<K> field schema.
Analogue of StructForm for the bit domain.
BitForm<K>(K.values).cast(ConstBits(raw as Bits));
Bitmasks
Bits
Bits - Bitwise operations on int
function of a single number, object methods over top level math functions
BitStruct
/////////////////////////////////////////////////////////////////////////////
BitStruct — zero-cost keyed view over a BitData object.
Word
Word - A register width variable.
Implementation of Bits with byte granularity constructors/accessors.
Effectively ByteData with a length of 8 bytes.
Can be compile time constant, use as enum entry
WordForm
WordStruct
Bits /Word + keys
[] Map operators returning int