class Heap

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

void Heap (Storage_ storage)
void Heap ()

Defined at line 1869 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h

void Heap (Heap && )

Defined at line 1870 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h

void Heap (const Heap & other)
Heap & operator= (Heap && )

Defined at line 1871 of file fidling/gen/sdk/fidl/fuchsia.sysmem2/fuchsia.sysmem2/cpp/fidl/fuchsia.sysmem2/cpp/natural_types.h

Heap & operator= (const Heap & other)
bool operator== (const Heap & other)
bool operator!= (const Heap & other)
bool IsEmpty ()
const std::optional< ::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"

::std::optional< ::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"

Heap & heap_type (std::optional< ::std::string> value)

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"

const std::optional<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).

::std::optional<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).

Heap & id (std::optional<uint64_t> value)

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

void Heap (::fidl::internal::DefaultConstructPossiblyInvalidObjectTag )

Friends

class MemberVisitor
class NaturalTableCodingTraits