class Heap

Defined at line 3622 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.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 Members

static const fidl_type_t * FidlType

Public Methods

bool IsEmpty ()

Returns whether no field is set.

const ::std::string & 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"

Defined at line 3635 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

bool has_heap_type ()

Defined at line 3639 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

::std::string * mutable_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"

Defined at line 3650 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

void clear_heap_type ()

Defined at line 3658 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

const 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).

Defined at line 3678 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

bool has_id ()

Defined at line 3682 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

uint64_t * mutable_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).

Defined at line 3698 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

void clear_id ()

Defined at line 3706 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/hlcpp/fuchsia/sysmem2/cpp/fidl.h

Heap & set_heap_type (::std::string _value)
Heap & set_id (uint64_t _value)
void Heap ()
void Heap (Heap && other)
void ~Heap ()
Heap & operator= (Heap && other)
::std::unique_ptr<Heap> New ()
void Encode (::fidl::Encoder * _encoder, size_t _offset, std::optional< ::fidl::HandleInformation> maybe_handle_info)
void Decode (::fidl::Decoder * _decoder, Heap * _value, size_t _offset)
zx_status_t Clone (Heap * _result)