{{+bindTo:partials.standard_nacl_article}}

| VarArrayBuffer () | |
| VarArrayBuffer (const Var &var) | |
| VarArrayBuffer (uint32_t size_in_bytes) | |
| VarArrayBuffer (const VarArrayBuffer &buffer) | |
| virtual | ~VarArrayBuffer () |
| VarArrayBuffer & | operator= (const VarArrayBuffer &other) |
| virtual Var & | operator= (const Var &other) |
| uint32_t | ByteLength () const |
| void * | Map () |
| void | Unmap () |
VarArrayBuffer provides a way to interact with JavaScript ArrayBuffers, which represent a contiguous sequence of bytes.
Note that these vars are not part of the embedding page's DOM, and can only be shared with JavaScript using the PostMessage and HandleMessage functions of Instance.
The default constructor constructs a VarArrayBuffer which is 0 byte long.
| pp::VarArrayBuffer::VarArrayBuffer | ( | const Var & | var | ) | [explicit] |
Construct a VarArrayBuffer given a var for which is_array_buffer() is true.
This will refer to the same ArrayBuffer as var, but allows you to access methods specific to VarArrayBuffer.
| [in] | var | An ArrayBuffer var. |
| pp::VarArrayBuffer::VarArrayBuffer | ( | uint32_t | size_in_bytes | ) | [explicit] |
Construct a new VarArrayBuffer which is size_in_bytes bytes long and initialized to zero.
| [in] | size_in_bytes | The size of the constructed ArrayBuffer in bytes. |
| pp::VarArrayBuffer::VarArrayBuffer | ( | const VarArrayBuffer & | buffer | ) | [inline] |
Copy constructor.
| virtual pp::VarArrayBuffer::~VarArrayBuffer | ( | ) | [inline, virtual] |
| uint32_t pp::VarArrayBuffer::ByteLength | ( | ) | const |
ByteLength() retrieves the length of the VarArrayBuffer in bytes.
VarArrayBuffer in bytes. | void* pp::VarArrayBuffer::Map | ( | ) |
Map() maps the ArrayBuffer in to the module's address space and returns a pointer to the beginning of the internal buffer for this ArrayBuffer.
ArrayBuffers are copied when transmitted, so changes to the underlying memory are not automatically available to the embedding page.
Note that calling Map() can be a relatively expensive operation. Use care when calling it in performance-critical code. For example, you should call it only once when looping over an ArrayBuffer.
Example:
char* data = static_cast<char*>(array_buffer_var.Map()); uint32_t byte_length = array_buffer_var.ByteLength(); for (uint32_t i = 0; i < byte_length; ++i) data[i] = 'A';
ArrayBuffer. | VarArrayBuffer& pp::VarArrayBuffer::operator= | ( | const VarArrayBuffer & | other | ) |
This function assigns one VarArrayBuffer to another VarArrayBuffer.
| [in] | other | The VarArrayBuffer to be assigned. |
VarArrayBuffer. This function assigns one VarArrayBuffer to another VarArrayBuffer.
A Var's assignment operator is overloaded here so that we can check for assigning a non-ArrayBuffer var to a VarArrayBuffer.
| [in] | other | The VarArrayBuffer to be assigned. |
VarArrayBuffer (as a Var&). Reimplemented from pp::Var.
| void pp::VarArrayBuffer::Unmap | ( | ) |