UNPKG

rc-js-util

Version:

A collection of TS and C++ utilities to help writing performant and correct applications, achieved through strict typing and (removable) invariant checking.

32 lines 1.59 kB
import { IEmscriptenWrapper } from "../emscripten/i-emscripten-wrapper.js"; import { type IManagedObject, type IManagedResourceNode, type IPointer } from "../../lifecycle/manged-resources.js"; import { TTypedArrayCtor } from "../../array/typed-array/t-typed-array-ctor.js"; import type { IBuffer } from "../../array/typed-array/i-buffer-view.js"; import { ENumberIdentifier } from "../../runtime/rtti-interop.js"; import type { IInteropBindings } from "../emscripten/i-interop-bindings.js"; /** * @public * Provides a view into shared memory, which avoids the need to keep recreating shared arrays. The view is NOT owning. */ export interface ISharedBufferView<TCtor extends TTypedArrayCtor> extends IManagedObject, IPointer, IBuffer<TCtor> { readonly ctor: TCtor; } /** * @public * {@inheritDoc ISharedBufferView} */ export declare class SharedBufferView<TCtor extends TTypedArrayCtor> implements ISharedBufferView<TCtor> { protected readonly wrapper: IEmscriptenWrapper<IInteropBindings>; readonly ctor: TCtor; readonly resourceHandle: IManagedResourceNode; readonly pointer: number; readonly byteSize: number; readonly numberId: ENumberIdentifier; getWrapper(): IEmscriptenWrapper<IInteropBindings>; getSharedObjectHandle(): IManagedObject | null; getDataView(): DataView; getArray(): InstanceType<TCtor>; constructor(wrapper: IEmscriptenWrapper<IInteropBindings>, owner: IManagedResourceNode | null, ctor: TCtor, pointerToData: number, byteSize: number); private readonly impl; } //# sourceMappingURL=shared-buffer-view.d.ts.map