template <typename BuilderImpl>

class WireTableBaseBuilder

Defined at line 2173 of file fidling/gen/sdk/fidl/fuchsia.audio/fuchsia.audio/cpp/fidl/fuchsia.audio/cpp/wire_types.h

Public Methods

::fuchsia_audio::wire::RingBuffer Build ()

Build and return the table. The builder should not be used after this.

bool has_buffer ()
void clear_buffer ()

Clears the buffer field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_mem::wire::Buffer & buffer ()

The actual ring buffer. The sum of `producer_bytes` and `consumer_bytes`

must be

<

= `buffer.size`.

Required.

BuilderImpl & buffer (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_mem::wire::Buffer>> elem)

The actual ring buffer. The sum of `producer_bytes` and `consumer_bytes`

must be

<

= `buffer.size`.

Required.

bool has_format ()
void clear_format ()

Clears the format field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::fuchsia_audio::wire::Format & format ()

Encoding of audio data in the buffer.

Required.

BuilderImpl & format (Wrapper_Ignore_Me_< ::fidl::ObjectView< ::fuchsia_audio::wire::Format>> elem)

Encoding of audio data in the buffer.

Required.

bool has_producer_bytes ()
void clear_producer_bytes ()

Clears the producer_bytes field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint64_t & producer_bytes ()

The number of bytes allocated to the producer.

For PCM encodings, `P = producer_bytes / BytesPerFrame(format)`, where P

must be integral.

For non-PCM encodings, there are no constraints, however individual encodings

may impose stricter requirements.

Required.

BuilderImpl & producer_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)

The number of bytes allocated to the producer.

For PCM encodings, `P = producer_bytes / BytesPerFrame(format)`, where P

must be integral.

For non-PCM encodings, there are no constraints, however individual encodings

may impose stricter requirements.

Required.

bool has_consumer_bytes ()
void clear_consumer_bytes ()

Clears the consumer_bytes field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint64_t & consumer_bytes ()

The number of bytes allocated to the consumer.

For PCM encodings, `C = consumer_bytes / BytesPerFrame(format)`, where C

must be integral.

For non-PCM encodings, there are no constraints, however individual encodings

may impose stricter requirements.

Required.

BuilderImpl & consumer_bytes (Wrapper_Ignore_Me_< ::fidl::ObjectView<uint64_t>> elem)

The number of bytes allocated to the consumer.

For PCM encodings, `C = consumer_bytes / BytesPerFrame(format)`, where C

must be integral.

For non-PCM encodings, there are no constraints, however individual encodings

may impose stricter requirements.

Required.

bool has_reference_clock ()
void clear_reference_clock ()

Clears the reference_clock field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

::zx::clock & reference_clock ()

Reference clock for the ring buffer.

Required.

BuilderImpl & reference_clock (::zx::clock elem)

Reference clock for the ring buffer.

Required.

bool has_reference_clock_domain ()
void clear_reference_clock_domain ()

Clears the reference_clock_domain field.

This method should be used sparingly, such as only during tests, as it has

O(number_of_fields) complexity.

uint32_t & reference_clock_domain ()

Domain of `reference_clock`. See `fuchsia.hardware.audio.ClockDomain`.

Optional. If not specified, defaults to `CLOCK_DOMAIN_EXTERNAL`.

BuilderImpl & reference_clock_domain (uint32_t elem)

Domain of `reference_clock`. See `fuchsia.hardware.audio.ClockDomain`.

Optional. If not specified, defaults to `CLOCK_DOMAIN_EXTERNAL`.

Protected Methods

void WireTableBaseBuilder< ::fuchsia_audio::wire::RingBuffer, BuilderImpl> (::fidl::ObjectView< ::fidl::WireTableFrame< ::fuchsia_audio::wire::RingBuffer>> && frame)

Records