class Heap

Defined at line 4681 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

A reference to a heap instance.

A given heap instance can have more than one `Heap` which can be used to

refer to the heap instance. Comparing `Heap` tables without knowledge of

these `Heap` aliases is not a reliable way to determine if two `Heap` tables

refer to the same heap (matching means yes, but not matching means maybe).

Allowing heap aliases makes renaming `Heap.type`(s) easier.

Public Methods

::fidl::WireTableExternalBuilder< ::fuchsia_sysmem2::wire::Heap> ExternalBuilder (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::Heap>> frame)

Return a builder that relies on explicitly allocating |fidl::ObjectView|s.

void Heap ()

Defined at line 4683 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

void Heap (const Heap & other)

Defined at line 4684 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

void Heap (Heap && other)

Defined at line 4686 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

bool IsEmpty ()

Returns whether no field is set.

bool HasUnknownData ()

Returns whether the table references unknown fields.

::fidl::WireTableBuilder< ::fuchsia_sysmem2::wire::Heap> Builder (::fidl::AnyArena & arena)

Return a builder that by defaults allocates of an arena.

::fidl::StringView & heap_type ()

The type of the heap, specified using a bind string defined per the

schema and mechanism described in comments in the

fuchsia.sysmem.heap.bind file.

Examples:

* "fuchsia.sysmem.heap.HEAP_TYPE.SYSTEM_RAM"

* "fuchsia.goldfish.platform.sysmem.heap.HEAP_TYPE.HOST_VISIBLE"

bool has_heap_type ()
uint64_t & id ()

The uint64 id of the heap. This is only required to be unique per (type,

boot) tuple. In other words, a given heap id is only meaningful within

the current boot of the machine (not across boots), and only within the

`Heap.type`.

For `Heap.type`(s) that refer to a singleton heap, a participant

specifying the singleton heap in

[`fuchsia.sysmem2.BufferMemoryConstraints.permitted_heaps`] can leave

this field un-set, or set it to zero. Sysmem will always fill out this

field for the heap indicated in

[`fuchsia.sysmem2.BufferMemorySettings.heap`] (for a singleton heap the

`id` field will be set to 0 by sysmem).

bool has_id ()
Heap & operator= (const Heap & other)

Defined at line 4685 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

Heap & operator= (Heap && other)

Defined at line 4687 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

Heap & set_heap_type (::fidl::ObjectView< ::fidl::StringView> elem)
Heap & set_heap_type (std::nullptr_t )
Heap & clear_heap_type ()
Heap & set_id (::fidl::ObjectView<uint64_t> elem)
Heap & set_id (std::nullptr_t )
Heap & clear_id ()
void Heap (::fidl::AnyArena & allocator)
void Heap (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::Heap>> && frame)

This constructor allows a user controlled allocation (not using a Arena).

It should only be used when performance is key.

As soon as the frame is given to the table, it must not be used directly or for another table.

void Allocate (::fidl::AnyArena & allocator)
void Init (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_sysmem2::wire::Heap>> && frame_ptr)
void ~Heap ()

Defined at line 4689 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/wire_types.h

Friends

class WireTableBaseBuilder
class WireTableBaseBuilder