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

#include <hash_table.h>

Inheritance diagram for dart::WeakArrayStorageTraits:
dart::WeakAcqRelStorageTraits

Public Types

using ArrayHandle = WeakArray
 
using ArrayPtr = dart::WeakArrayPtr
 

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 = kWeakArrayCid
 

Detailed Description

Definition at line 47 of file hash_table.h.

Member Typedef Documentation

◆ ArrayHandle

Definition at line 48 of file hash_table.h.

◆ ArrayPtr

using dart::WeakArrayStorageTraits::ArrayPtr = dart::WeakArrayPtr

Definition at line 49 of file hash_table.h.

Member Function Documentation

◆ At()

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

Definition at line 72 of file hash_table.h.

72 {
73 return array->At(index);
74 }

◆ ClearHandle()

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

Definition at line 60 of file hash_table.h.

60 { // NOLINT
61 handle = WeakArray::null();
62 }
static ObjectPtr null()
Definition: object.h:433

◆ IsImmutable()

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

Definition at line 68 of file hash_table.h.

68 {
69 return handle.ptr()->untag()->InVMIsolateHeap();
70 }

◆ New()

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

Definition at line 64 of file hash_table.h.

64 {
65 return WeakArray::New(length, space);
66 }
static WeakArrayPtr New(intptr_t length, Heap::Space space=Heap::kNew)
Definition: object.cc:17533
size_t length

◆ PtrToHandle()

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

Definition at line 52 of file hash_table.h.

52 {
53 return WeakArray::Handle(ptr);
54 }
static Object & Handle()
Definition: object.h:407

◆ SetAt()

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

Definition at line 76 of file hash_table.h.

76 {
77 array->SetAt(index, value);
78 }
uint8_t value

◆ SetHandle()

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

Definition at line 56 of file hash_table.h.

56 { // NOLINT
57 dst = src.ptr();
58 }
dst
Definition: cp.py:12

Member Data Documentation

◆ ArrayCid

constexpr intptr_t dart::WeakArrayStorageTraits::ArrayCid = kWeakArrayCid
staticconstexpr

Definition at line 50 of file hash_table.h.


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