Flutter Engine
The Flutter Engine
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
dart::ArrayStorageTraits Struct Reference

#include <hash_table.h>

Inheritance diagram for dart::ArrayStorageTraits:
dart::AcqRelStorageTraits

Public Types

using ArrayHandle = Array
 
using ArrayPtr = dart::ArrayPtr
 

Static Public Member Functions

static ArrayHandlePtrToHandle (ArrayPtr ptr)
 
static void SetHandle (ArrayHandle &dst, const ArrayHandle &src)
 
static void ClearHandle (ArrayHandle &handle)
 
static ArrayPtr New (Zone *zone, intptr_t length, Heap::Space space)
 
static bool IsImmutable (const ArrayHandle &handle)
 
static ObjectPtr At (ArrayHandle *array, intptr_t index)
 
static void SetAt (ArrayHandle *array, intptr_t index, const Object &value)
 

Static Public Attributes

static constexpr intptr_t ArrayCid = kArrayCid
 

Detailed Description

Definition at line 15 of file hash_table.h.

Member Typedef Documentation

◆ ArrayHandle

Definition at line 16 of file hash_table.h.

◆ ArrayPtr

using dart::ArrayStorageTraits::ArrayPtr = dart::ArrayPtr

Definition at line 17 of file hash_table.h.

Member Function Documentation

◆ At()

static ObjectPtr dart::ArrayStorageTraits::At ( ArrayHandle array,
intptr_t  index 
)
inlinestatic

Definition at line 38 of file hash_table.h.

38 {
39 return array->At(index);
40 }

◆ ClearHandle()

static void dart::ArrayStorageTraits::ClearHandle ( ArrayHandle handle)
inlinestatic

Definition at line 26 of file hash_table.h.

26 { // NOLINT
27 handle = Array::null();
28 }
static ObjectPtr null()
Definition: object.h:433

◆ IsImmutable()

static bool dart::ArrayStorageTraits::IsImmutable ( const ArrayHandle handle)
inlinestatic

Definition at line 34 of file hash_table.h.

34 {
35 return handle.ptr()->untag()->InVMIsolateHeap();
36 }

◆ New()

static ArrayPtr dart::ArrayStorageTraits::New ( Zone zone,
intptr_t  length,
Heap::Space  space 
)
inlinestatic

Definition at line 30 of file hash_table.h.

30 {
31 return Array::New(length, space);
32 }
static ArrayPtr New(intptr_t len, Heap::Space space=Heap::kNew)
Definition: object.h:10959
size_t length

◆ PtrToHandle()

static ArrayHandle & dart::ArrayStorageTraits::PtrToHandle ( ArrayPtr  ptr)
inlinestatic

Definition at line 20 of file hash_table.h.

20{ return Array::Handle(ptr); }
static Object & Handle()
Definition: object.h:407

◆ SetAt()

static void dart::ArrayStorageTraits::SetAt ( ArrayHandle array,
intptr_t  index,
const Object value 
)
inlinestatic

Definition at line 42 of file hash_table.h.

42 {
43 array->SetAt(index, value);
44 }
uint8_t value

◆ SetHandle()

static void dart::ArrayStorageTraits::SetHandle ( ArrayHandle dst,
const ArrayHandle src 
)
inlinestatic

Definition at line 22 of file hash_table.h.

22 { // NOLINT
23 dst = src.ptr();
24 }
dst
Definition: cp.py:12

Member Data Documentation

◆ ArrayCid

constexpr intptr_t dart::ArrayStorageTraits::ArrayCid = kArrayCid
staticconstexpr

Definition at line 18 of file hash_table.h.


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