
Public Member Functions
| 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 () |
Detailed Description
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.
Constructor & Destructor Documentation
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.
- Parameters:
[in] var An ArrayBuffervar.
| pp::VarArrayBuffer::VarArrayBuffer | ( | uint32_t | size_in_bytes | ) | [explicit] |
Construct a new VarArrayBuffer which is size_in_bytes bytes long and initialized to zero.
- Parameters:
[in] size_in_bytes The size of the constructed ArrayBufferin bytes.
| pp::VarArrayBuffer::VarArrayBuffer | ( | const VarArrayBuffer & | buffer | ) | [inline] |
Copy constructor.
| virtual pp::VarArrayBuffer::~VarArrayBuffer | ( | ) | [inline, virtual] |
Member Function Documentation
| uint32_t pp::VarArrayBuffer::ByteLength | ( | ) | const |
ByteLength() retrieves the length of the VarArrayBuffer in bytes.
- Returns:
- The length of the
VarArrayBufferin 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';
- Returns:
- A pointer to the internal buffer for this
ArrayBuffer.
| VarArrayBuffer& pp::VarArrayBuffer::operator= | ( | const VarArrayBuffer & | other | ) |
This function assigns one VarArrayBuffer to another VarArrayBuffer.
- Parameters:
[in] other The VarArrayBufferto be assigned.
- Returns:
- The resulting
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.
- Parameters:
[in] other The VarArrayBufferto be assigned.
- Returns:
- The resulting
VarArrayBuffer(as a Var&).
Reimplemented from pp::Var.
| void pp::VarArrayBuffer::Unmap | ( | ) |
The documentation for this class was generated from the following file: