v8  6.2.414 (node 8.16.2)
V8 is Google's open source JavaScript engine
ArrayBuffer Class Reference

#include <v8.h>

Inheritance diagram for ArrayBuffer:
Collaboration diagram for ArrayBuffer:

Data Structures

class  Allocator
 
class  Contents
 

Public Member Functions

size_t ByteLength () const
 
bool IsExternal () const
 
bool IsNeuterable () const
 
void Neuter ()
 
Contents Externalize ()
 
Contents GetContents ()
 
- Public Member Functions inherited from Object
 V8_DEPRECATE_SOON ("Use maybe version", bool Set(Local< Value > key, Local< Value > value))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Set (Local< Context > context, Local< Value > key, Local< Value > value)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool Set(uint32_t index, Local< Value > value))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Set (Local< Context > context, uint32_t index, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty (Local< Context > context, Local< Name > key, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > CreateDataProperty (Local< Context > context, uint32_t index, Local< Value > value)
 
V8_WARN_UNUSED_RESULT Maybe< bool > DefineOwnProperty (Local< Context > context, Local< Name > key, Local< Value > value, PropertyAttribute attributes=None)
 
V8_WARN_UNUSED_RESULT Maybe< bool > DefineProperty (Local< Context > context, Local< Name > key, PropertyDescriptor &descriptor)
 
 V8_DEPRECATED ("Use CreateDataProperty / DefineOwnProperty", Maybe< bool > ForceSet(Local< Context > context, Local< Value > key, Local< Value > value, PropertyAttribute attribs=None))
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Value > Get(Local< Value > key))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGet (Local< Context > context, Local< Value > key)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Value > Get(uint32_t index))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGet (Local< Context > context, uint32_t index)
 
 V8_DEPRECATED ("Use maybe version", PropertyAttribute GetPropertyAttributes(Local< Value > key))
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetPropertyAttributes (Local< Context > context, Local< Value > key)
 
 V8_DEPRECATED ("Use maybe version", Local< Value > GetOwnPropertyDescriptor(Local< Name > key))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetOwnPropertyDescriptor (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool Has(Local< Value > key))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Has (Local< Context > context, Local< Value > key)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool Delete(Local< Value > key))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Delete (Local< Context > context, Local< Value > key)
 
 V8_DEPRECATED ("Use maybe version", bool Has(uint32_t index))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Has (Local< Context > context, uint32_t index)
 
 V8_DEPRECATED ("Use maybe version", bool Delete(uint32_t index))
 
V8_WARN_UNUSED_RESULT Maybe< bool > Delete (Local< Context > context, uint32_t index)
 
 V8_DEPRECATED ("Use maybe version", bool SetAccessor(Local< String > name, AccessorGetterCallback getter, AccessorSetterCallback setter=0, Local< Value > data=Local< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None))
 
 V8_DEPRECATED ("Use maybe version", bool SetAccessor(Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=0, Local< Value > data=Local< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None))
 
V8_WARN_UNUSED_RESULT Maybe< bool > SetAccessor (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=0, MaybeLocal< Value > data=MaybeLocal< Value >(), AccessControl settings=DEFAULT, PropertyAttribute attribute=None)
 
void SetAccessorProperty (Local< Name > name, Local< Function > getter, Local< Function > setter=Local< Function >(), PropertyAttribute attribute=None, AccessControl settings=DEFAULT)
 
V8_WARN_UNUSED_RESULT Maybe< bool > SetNativeDataProperty (Local< Context > context, Local< Name > name, AccessorNameGetterCallback getter, AccessorNameSetterCallback setter=nullptr, Local< Value > data=Local< Value >(), PropertyAttribute attributes=None)
 
Maybe< bool > HasPrivate (Local< Context > context, Local< Private > key)
 
Maybe< bool > SetPrivate (Local< Context > context, Local< Private > key, Local< Value > value)
 
Maybe< bool > DeletePrivate (Local< Context > context, Local< Private > key)
 
MaybeLocal< ValueGetPrivate (Local< Context > context, Local< Private > key)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Array > GetPropertyNames())
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetPropertyNames (Local< Context > context)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetPropertyNames (Local< Context > context, KeyCollectionMode mode, PropertyFilter property_filter, IndexFilter index_filter)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Array > GetOwnPropertyNames())
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context)
 
V8_WARN_UNUSED_RESULT MaybeLocal< ArrayGetOwnPropertyNames (Local< Context > context, PropertyFilter filter)
 
Local< ValueGetPrototype ()
 
 V8_DEPRECATED ("Use maybe version", bool SetPrototype(Local< Value > prototype))
 
V8_WARN_UNUSED_RESULT Maybe< bool > SetPrototype (Local< Context > context, Local< Value > prototype)
 
Local< ObjectFindInstanceInPrototypeChain (Local< FunctionTemplate > tmpl)
 
 V8_DEPRECATED ("Use maybe version", Local< String > ObjectProtoToString())
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringObjectProtoToString (Local< Context > context)
 
Local< StringGetConstructorName ()
 
Maybe< bool > SetIntegrityLevel (Local< Context > context, IntegrityLevel level)
 
int InternalFieldCount ()
 
V8_INLINE Local< ValueGetInternalField (int index)
 
void SetInternalField (int index, Local< Value > value)
 
V8_INLINE void * GetAlignedPointerFromInternalField (int index)
 
void SetAlignedPointerInInternalField (int index, void *value)
 
void SetAlignedPointerInInternalFields (int argc, int indices[], void *values[])
 
 V8_DEPRECATED ("Use maybe version", bool HasOwnProperty(Local< String > key))
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasOwnProperty (Local< Context > context, Local< Name > key)
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasOwnProperty (Local< Context > context, uint32_t index)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool HasRealNamedProperty(Local< String > key))
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedProperty (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool HasRealIndexedProperty(uint32_t index))
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealIndexedProperty (Local< Context > context, uint32_t index)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool HasRealNamedCallbackProperty(Local< String > key))
 
V8_WARN_UNUSED_RESULT Maybe< bool > HasRealNamedCallbackProperty (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATED ("Use maybe version", Local< Value > GetRealNamedPropertyInPrototypeChain(Local< String > key))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetRealNamedPropertyInPrototypeChain (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATED ("Use maybe version", Maybe< PropertyAttribute > GetRealNamedPropertyAttributesInPrototypeChain(Local< String > key))
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetRealNamedPropertyAttributesInPrototypeChain (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATED ("Use maybe version", Local< Value > GetRealNamedProperty(Local< String > key))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueGetRealNamedProperty (Local< Context > context, Local< Name > key)
 
 V8_DEPRECATED ("Use maybe version", Maybe< PropertyAttribute > GetRealNamedPropertyAttributes(Local< String > key))
 
V8_WARN_UNUSED_RESULT Maybe< PropertyAttributeGetRealNamedPropertyAttributes (Local< Context > context, Local< Name > key)
 
bool HasNamedLookupInterceptor ()
 
bool HasIndexedLookupInterceptor ()
 
int GetIdentityHash ()
 
Local< ObjectClone ()
 
Local< ContextCreationContext ()
 
bool IsCallable ()
 
bool IsConstructor ()
 
 V8_DEPRECATED ("Use maybe version", Local< Value > CallAsFunction(Local< Value > recv, int argc, Local< Value > argv[]))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueCallAsFunction (Local< Context > context, Local< Value > recv, int argc, Local< Value > argv[])
 
 V8_DEPRECATED ("Use maybe version", Local< Value > CallAsConstructor(int argc, Local< Value > argv[]))
 
V8_WARN_UNUSED_RESULT MaybeLocal< ValueCallAsConstructor (Local< Context > context, int argc, Local< Value > argv[])
 
 V8_DEPRECATE_SOON ("Keep track of isolate correctly", Isolate *GetIsolate())
 
- Public Member Functions inherited from Value
V8_INLINE bool IsUndefined () const
 
V8_INLINE bool IsNull () const
 
V8_INLINE bool IsNullOrUndefined () const
 
bool IsTrue () const
 
bool IsFalse () const
 
bool IsName () const
 
V8_INLINE bool IsString () const
 
bool IsSymbol () const
 
bool IsFunction () const
 
bool IsArray () const
 
bool IsObject () const
 
bool IsBoolean () const
 
bool IsNumber () const
 
bool IsExternal () const
 
bool IsInt32 () const
 
bool IsUint32 () const
 
bool IsDate () const
 
bool IsArgumentsObject () const
 
bool IsBooleanObject () const
 
bool IsNumberObject () const
 
bool IsStringObject () const
 
bool IsSymbolObject () const
 
bool IsNativeError () const
 
bool IsRegExp () const
 
bool IsAsyncFunction () const
 
bool IsGeneratorFunction () const
 
bool IsGeneratorObject () const
 
bool IsPromise () const
 
bool IsMap () const
 
bool IsSet () const
 
bool IsMapIterator () const
 
bool IsSetIterator () const
 
bool IsWeakMap () const
 
bool IsWeakSet () const
 
bool IsArrayBuffer () const
 
bool IsArrayBufferView () const
 
bool IsTypedArray () const
 
bool IsUint8Array () const
 
bool IsUint8ClampedArray () const
 
bool IsInt8Array () const
 
bool IsUint16Array () const
 
bool IsInt16Array () const
 
bool IsUint32Array () const
 
bool IsInt32Array () const
 
bool IsFloat32Array () const
 
bool IsFloat64Array () const
 
bool IsDataView () const
 
bool IsSharedArrayBuffer () const
 
bool IsProxy () const
 
bool IsWebAssemblyCompiledModule () const
 
V8_WARN_UNUSED_RESULT MaybeLocal< BooleanToBoolean (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< NumberToNumber (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< StringToDetailString (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< ObjectToObject (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< IntegerToInteger (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToUint32 (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT MaybeLocal< Int32ToInt32 (Local< Context > context) const
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Boolean > ToBoolean(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Number > ToNumber(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< String > ToString(Isolate *isolate) const)
 
 V8_DEPRECATED ("Use maybe version", Local< String > ToDetailString(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Object > ToObject(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Integer > ToInteger(Isolate *isolate) const)
 
 V8_DEPRECATED ("Use maybe version", Local< Uint32 > ToUint32(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Int32 > ToInt32(Isolate *isolate) const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Boolean > ToBoolean() const)
 
 V8_DEPRECATED ("Use maybe version", Local< Number > ToNumber() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< String > ToString() const)
 
 V8_DEPRECATED ("Use maybe version", Local< String > ToDetailString() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Object > ToObject() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", Local< Integer > ToInteger() const)
 
 V8_DEPRECATED ("Use maybe version", Local< Uint32 > ToUint32() const)
 
 V8_DEPRECATED ("Use maybe version", Local< Int32 > ToInt32() const)
 
 V8_DEPRECATED ("Use maybe version", Local< Uint32 > ToArrayIndex() const)
 
V8_WARN_UNUSED_RESULT MaybeLocal< Uint32ToArrayIndex (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< bool > BooleanValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< double > NumberValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int64_t > IntegerValue (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< uint32_t > Uint32Value (Local< Context > context) const
 
V8_WARN_UNUSED_RESULT Maybe< int32_t > Int32Value (Local< Context > context) const
 
 V8_DEPRECATE_SOON ("Use maybe version", bool BooleanValue() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", double NumberValue() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", int64_t IntegerValue() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", uint32_t Uint32Value() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", int32_t Int32Value() const)
 
 V8_DEPRECATE_SOON ("Use maybe version", bool Equals(Local< Value > that) const)
 
V8_WARN_UNUSED_RESULT Maybe< bool > Equals (Local< Context > context, Local< Value > that) const
 
bool StrictEquals (Local< Value > that) const
 
bool SameValue (Local< Value > that) const
 
Local< StringTypeOf (Isolate *)
 
Maybe< bool > InstanceOf (Local< Context > context, Local< Object > object)
 
template<class T >
ValueCast (T *value)
 

Static Public Member Functions

static Local< ArrayBufferNew (Isolate *isolate, size_t byte_length)
 
static Local< ArrayBufferNew (Isolate *isolate, void *data, size_t byte_length, ArrayBufferCreationMode mode=ArrayBufferCreationMode::kExternalized)
 
static V8_INLINE ArrayBufferCast (Value *obj)
 
- Static Public Member Functions inherited from Object
static V8_INLINE int InternalFieldCount (const PersistentBase< Object > &object)
 
static V8_INLINE void * GetAlignedPointerFromInternalField (const PersistentBase< Object > &object, int index)
 
static V8_INLINE Local< ContextCreationContext (const PersistentBase< Object > &object)
 
static Local< ObjectNew (Isolate *isolate)
 
static V8_INLINE ObjectCast (Value *obj)
 
- Static Public Member Functions inherited from Value
template<class T >
static V8_INLINE ValueCast (T *value)
 

Static Public Attributes

static const int kInternalFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT
 
static const int kEmbedderFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT
 

Detailed Description

An instance of the built-in ArrayBuffer constructor (ES6 draft 15.13.5).

Definition at line 4253 of file v8.h.

Member Function Documentation

◆ ByteLength()

size_t ByteLength ( ) const

Data length in bytes.

◆ Cast()

ArrayBuffer * Cast ( v8::Value value)
static

Definition at line 9988 of file v8.h.

◆ Externalize()

Contents Externalize ( )

Make this ArrayBuffer external. The pointer to underlying memory block and byte length are returned as |Contents| structure. After ArrayBuffer had been externalized, it does no longer own the memory block. The caller should take steps to free memory when it is no longer needed.

The memory block is guaranteed to be allocated with |Allocator::Allocate| that has been set via Isolate::CreateParams.

◆ GetContents()

Contents GetContents ( )

Get a pointer to the ArrayBuffer's underlying memory block without externalizing it. If the ArrayBuffer is not externalized, this pointer will become invalid as soon as the ArrayBuffer gets garbage collected.

The embedder should make sure to hold a strong reference to the ArrayBuffer while accessing this pointer.

The memory block is guaranteed to be allocated with |Allocator::Allocate|.

◆ IsExternal()

bool IsExternal ( ) const

Returns true if ArrayBuffer is externalized, that is, does not own its memory block.

◆ IsNeuterable()

bool IsNeuterable ( ) const

Returns true if this ArrayBuffer may be neutered.

◆ Neuter()

void Neuter ( )

Neuters this ArrayBuffer and all its views (typed arrays). Neutering sets the byte length of the buffer and all typed arrays to zero, preventing JavaScript from ever accessing underlying backing store. ArrayBuffer should have been externalized and must be neuterable.

◆ New() [1/2]

static Local<ArrayBuffer> New ( Isolate isolate,
size_t  byte_length 
)
static

Create a new ArrayBuffer. Allocate |byte_length| bytes. Allocated memory will be owned by a created ArrayBuffer and will be deallocated when it is garbage-collected, unless the object is externalized.

◆ New() [2/2]

static Local<ArrayBuffer> New ( Isolate isolate,
void *  data,
size_t  byte_length,
ArrayBufferCreationMode  mode = ArrayBufferCreationMode::kExternalized 
)
static

Create a new ArrayBuffer over an existing memory block. The created array buffer is by default immediately in externalized state. In externalized state, the memory block will not be reclaimed when a created ArrayBuffer is garbage-collected. In internalized state, the memory block will be released using |Allocator::Free| once all ArrayBuffers referencing it are collected by the garbage collector.

Field Documentation

◆ kEmbedderFieldCount

const int kEmbedderFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT
static

Definition at line 4439 of file v8.h.

◆ kInternalFieldCount

const int kInternalFieldCount = V8_ARRAY_BUFFER_INTERNAL_FIELD_COUNT
static

Definition at line 4438 of file v8.h.


The documentation for this class was generated from the following file: