@lichtblick/cdr
Version:
Common Data Representation serialization and deserialization library
68 lines • 2.72 kB
TypeScript
import { EncapsulationKind } from "./EncapsulationKind";
import { LengthCode } from "./lengthCodes";
export declare class CdrReader {
#private;
readonly usesDelimiterHeader: boolean;
readonly usesMemberHeader: boolean;
offset: number;
get kind(): EncapsulationKind;
get decodedBytes(): number;
get byteLength(): number;
constructor(data: ArrayBufferView);
int8(): number;
uint8(): number;
int16(): number;
uint16(): number;
int32(): number;
uint32(): number;
int64(): bigint;
uint64(): bigint;
uint16BE(): number;
uint32BE(): number;
uint64BE(): bigint;
float32(): number;
float64(): number;
string(prereadLength?: number): string;
/** Reads the delimiter header which contains and returns the object size */
dHeader(): number;
/**
* Reads the member header (EMHEADER) and returns the member ID, mustUnderstand flag, and object size with optional length code
* The length code is only present in CDR2 and should prompt objectSize to be used in place of sequence length if applicable.
* See Extensible and Dynamic Topic Types (DDS-XTypes) v1.3 @ `7.4.3.4.2` for more info about CDR2 EMHEADER composition.
* If a sentinelHeader was read (PL_CDR v1), the readSentinelHeader flag is set to true.
*/
emHeader(): {
mustUnderstand: boolean;
id: number;
objectSize: number;
lengthCode?: LengthCode;
readSentinelHeader?: boolean;
};
/** Reads the PID_SENTINEL value if encapsulation kind supports it (PL_CDR version 1)*/
sentinelHeader(): void;
sequenceLength(): number;
int8Array(count?: number): Int8Array;
uint8Array(count?: number): Uint8Array;
int16Array(count?: number): Int16Array;
uint16Array(count?: number): Uint16Array;
int32Array(count?: number): Int32Array;
uint32Array(count?: number): Uint32Array;
int64Array(count?: number): BigInt64Array;
uint64Array(count?: number): BigUint64Array;
float32Array(count?: number): Float32Array;
float64Array(count?: number): Float64Array;
stringArray(count?: number): string[];
/**
* Seek the current read pointer a number of bytes relative to the current position. Note that
* seeking before the four-byte header is invalid
* @param relativeOffset A positive or negative number of bytes to seek
*/
seek(relativeOffset: number): void;
/**
* Seek to an absolute byte position in the data. Note that seeking before the four-byte header is
* invalid
* @param offset An absolute byte offset in the range of [4-byteLength)
*/
seekTo(offset: number): void;
}
//# sourceMappingURL=CdrReader.d.ts.map