| # SharedArrayBuffer |
| |
| Class `Napi::SharedArrayBuffer` inherits from class [`Napi::Object`][]. |
| |
| The `Napi::SharedArrayBuffer` class corresponds to the |
| [JavaScript `SharedArrayBuffer`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer) |
| class. |
| |
| **NOTE**: The support for `Napi::SharedArrayBuffer` is only available when using |
| `NAPI_EXPERIMENTAL` and building against Node.js headers that support this |
| feature. |
| |
| ## Methods |
| |
| ### New |
| |
| Allocates a new `Napi::SharedArrayBuffer` instance with a given length. |
| |
| ```cpp |
| static Napi::SharedArrayBuffer Napi::SharedArrayBuffer::New(napi_env env, size_t byteLength); |
| ``` |
| |
| - `[in] env`: The environment in which to create the `Napi::SharedArrayBuffer` |
| instance. |
| - `[in] byteLength`: The length to be allocated, in bytes. |
| |
| Returns a new `Napi::SharedArrayBuffer` instance. |
| |
| ### Constructor |
| |
| Initializes an empty instance of the `Napi::SharedArrayBuffer` class. |
| |
| ```cpp |
| Napi::SharedArrayBuffer::SharedArrayBuffer(); |
| ``` |
| |
| ### Constructor |
| |
| Initializes a wrapper instance of an existing `Napi::SharedArrayBuffer` object. |
| |
| ```cpp |
| Napi::SharedArrayBuffer::SharedArrayBuffer(napi_env env, napi_value value); |
| ``` |
| |
| - `[in] env`: The environment in which to create the `Napi::SharedArrayBuffer` |
| instance. |
| - `[in] value`: The `Napi::SharedArrayBuffer` reference to wrap. |
| |
| ### ByteLength |
| |
| ```cpp |
| size_t Napi::SharedArrayBuffer::ByteLength() const; |
| ``` |
| |
| Returns the length of the wrapped data, in bytes. |
| |
| ### Data |
| |
| ```cpp |
| void* Napi::SharedArrayBuffer::Data() const; |
| ``` |
| |
| Returns a pointer the wrapped data. |
| |
| [`Napi::Object`]: ./object.md |