RawWriter class

Writes values into a mutable byte buffer.

The buffer automatically expands if isExpanding is true. This class provides various helper methods to write primitive values, UTF-8 strings, and custom SelfEncoder objects.

Constructors

RawWriter.withByteData(ByteData _byteData, {bool isExpanding = true})
Creates a writer with a custom ByteData buffer.
RawWriter.withCapacity(int capacity, {bool isExpanding = true})
Creates a writer with an allocated buffer of capacity bytes.
factory
RawWriter.withUint8List(Uint8List list, {bool isExpanding = true})
Creates a writer backed by a Uint8List.

Properties

bufferAsByteData → ByteData
Returns the internal ByteData buffer.
no setter
hashCode → int
The hash code for this object.
no setterinherited
isExpanding → bool
Whether the buffer automatically expands when full.
final
length ↔ int
Current written length (number of valid bytes).
getter/setter pair
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

ensureAvailableLength(int length) → void
Ensures the buffer has space for at least length more bytes.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toByteDataCopy() → ByteData
Returns a copy of the written bytes as ByteData.
toByteDataView() → ByteData
Returns a view of the written bytes as ByteData.
toString() → String
A string representation of this object.
inherited
toUint8ListCopy() → Uint8List
Returns a copy of the written bytes as Uint8List.
toUint8ListView() → Uint8List
Returns a view of the written bytes as Uint8List.
writeByteData(ByteData value, [int index = 0, int? writtenLength]) → void
Writes bytes from ByteData.
writeBytes(List<int> value, [int index = 0, int? writtenLength]) → void
Writes bytes from a List<int>.
writeFixInt64(Int64 value, [Endian endian = Endian.big]) → void
Writes a 64-bit integer (Int64).
writeFloat32(double value, [Endian endian = Endian.big]) → void
Writes a 32-bit floating-point value.
writeFloat64(double value, [Endian endian = Endian.big]) → void
Writes a 64-bit floating-point value.
writeInt16(int value, [Endian endian = Endian.big]) → void
Writes a 16-bit signed integer.
writeInt32(int value, [Endian endian = Endian.big]) → void
Writes a 32-bit signed integer.
writeInt8(int value) → void
Writes an 8-bit signed integer.
writeSelfEncoder(SelfEncoder encoder) → void
Writes a SelfEncoder object.
writeUint16(int value, [Endian endian = Endian.big]) → void
Writes a 16-bit unsigned integer.
writeUint32(int value, [Endian endian = Endian.big]) → void
Writes a 32-bit unsigned integer.
writeUint8(int value) → void
Writes an 8-bit unsigned integer.
writeUtf8(String value, {int? maxLengthInBytes}) → int
Writes a UTF-8 string. Returns the number of bytes written.
writeUtf8NullEnding(String value, {int? maxLengthInBytes}) → int
Writes a UTF-8 string with a trailing null byte.
writeUtf8Simple(String value) → void
Writes a single-byte UTF-8 string.
writeUtf8SimpleNullEnding(String value) → void
Writes a null-terminated single-byte UTF-8 string.
writeVarInt(int value) → void
Writes a variable-length signed integer.
writeVarUint(int value) → void
Writes a variable-length unsigned integer.
writeZeroes(int writtenLength) → void
Writes writtenLength zero bytes.

Operators

operator ==(Object other) → bool
The equality operator.
inherited