5#ifndef INCLUDE_V8_TYPED_ARRAY_H_
6#define INCLUDE_V8_TYPED_ARRAY_H_
20class V8_EXPORT TypedArray :
public ArrayBufferView {
28#ifdef V8_ENABLE_SANDBOX
30 v8::internal::kMaxSafeBufferSizeForSandbox);
40#ifdef V8_ENABLE_CHECKS
43 return static_cast<TypedArray*
>(value);
48 static void CheckCast(
Value* obj);
61 static_assert(
sizeof(uint8_t) == 1);
64 size_t byte_offset,
size_t length);
66 size_t byte_offset,
size_t length);
68#ifdef V8_ENABLE_CHECKS
71 return static_cast<Uint8Array*
>(value);
76 static void CheckCast(
Value* obj);
82class V8_EXPORT Uint8ClampedArray :
public TypedArray {
89 static_assert(
sizeof(uint8_t) == 1);
92 size_t byte_offset,
size_t length);
97#ifdef V8_ENABLE_CHECKS
100 return static_cast<Uint8ClampedArray*
>(value);
105 static void CheckCast(
Value* obj);
118 static_assert(
sizeof(int8_t) == 1);
121 size_t byte_offset,
size_t length);
123 size_t byte_offset,
size_t length);
125#ifdef V8_ENABLE_CHECKS
128 return static_cast<Int8Array*
>(value);
133 static void CheckCast(
Value* obj);
146 static_assert(
sizeof(uint16_t) == 2);
149 size_t byte_offset,
size_t length);
151 size_t byte_offset,
size_t length);
153#ifdef V8_ENABLE_CHECKS
156 return static_cast<Uint16Array*
>(value);
161 static void CheckCast(
Value* obj);
174 static_assert(
sizeof(int16_t) == 2);
177 size_t byte_offset,
size_t length);
179 size_t byte_offset,
size_t length);
181#ifdef V8_ENABLE_CHECKS
184 return static_cast<Int16Array*
>(value);
189 static void CheckCast(
Value* obj);
202 static_assert(
sizeof(uint32_t) == 4);
205 size_t byte_offset,
size_t length);
207 size_t byte_offset,
size_t length);
209#ifdef V8_ENABLE_CHECKS
212 return static_cast<Uint32Array*
>(value);
217 static void CheckCast(
Value* obj);
230 static_assert(
sizeof(int32_t) == 4);
233 size_t byte_offset,
size_t length);
235 size_t byte_offset,
size_t length);
237#ifdef V8_ENABLE_CHECKS
240 return static_cast<Int32Array*
>(value);
245 static void CheckCast(
Value* obj);
257 size_t byte_offset,
size_t length);
259 size_t byte_offset,
size_t length);
261#ifdef V8_ENABLE_CHECKS
264 return static_cast<Float16Array*
>(value);
269 static void CheckCast(
Value* obj);
282 static_assert(
sizeof(float) == 4);
285 size_t byte_offset,
size_t length);
287 size_t byte_offset,
size_t length);
289#ifdef V8_ENABLE_CHECKS
292 return static_cast<Float32Array*
>(value);
297 static void CheckCast(
Value* obj);
310 static_assert(
sizeof(double) == 8);
313 size_t byte_offset,
size_t length);
315 size_t byte_offset,
size_t length);
317#ifdef V8_ENABLE_CHECKS
320 return static_cast<Float64Array*
>(value);
325 static void CheckCast(
Value* obj);
338 static_assert(
sizeof(int64_t) == 8);
341 size_t byte_offset,
size_t length);
343 size_t byte_offset,
size_t length);
345#ifdef V8_ENABLE_CHECKS
348 return static_cast<BigInt64Array*
>(value);
353 static void CheckCast(
Value* obj);
366 static_assert(
sizeof(uint64_t) == 8);
369 size_t byte_offset,
size_t length);
371 size_t byte_offset,
size_t length);
373#ifdef V8_ENABLE_CHECKS
376 return static_cast<BigUint64Array*
>(value);
381 static void CheckCast(
Value* obj);
static constexpr size_t kMaxByteLength
static constexpr size_t kMaxLength
static Local< BigInt64Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static V8_INLINE BigInt64Array * Cast(Value *value)
static Local< BigInt64Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE BigUint64Array * Cast(Value *value)
static Local< BigUint64Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static Local< BigUint64Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Float16Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static Local< Float16Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE Float16Array * Cast(Value *value)
static constexpr size_t kMaxLength
static Local< Float32Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Float32Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE Float32Array * Cast(Value *value)
static V8_INLINE Float64Array * Cast(Value *value)
static Local< Float64Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static Local< Float64Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Int16Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Int16Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static V8_INLINE Int16Array * Cast(Value *value)
static V8_INLINE Int32Array * Cast(Value *value)
static constexpr size_t kMaxLength
static Local< Int32Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Int32Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static Local< Int8Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static V8_INLINE Int8Array * Cast(Value *value)
static Local< Int8Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE TypedArray * Cast(Value *value)
static constexpr size_t kMaxByteLength
static Local< Uint16Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static V8_INLINE Uint16Array * Cast(Value *value)
static Local< Uint16Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE Uint32Array * Cast(Value *value)
static constexpr size_t kMaxLength
static Local< Uint32Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Uint32Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static V8_INLINE Uint8Array * Cast(Value *value)
static constexpr size_t kMaxLength
static Local< Uint8Array > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static Local< Uint8Array > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static Local< Uint8ClampedArray > New(Local< SharedArrayBuffer > shared_array_buffer, size_t byte_offset, size_t length)
static constexpr size_t kMaxLength
static Local< Uint8ClampedArray > New(Local< ArrayBuffer > array_buffer, size_t byte_offset, size_t length)
static V8_INLINE Uint8ClampedArray * Cast(Value *value)