template <size_t I, typename V>

class UnionMemberView

Defined at line 38 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

|UnionMemberView| is a helper class for union members.

It's returned by various accessor methods on union natural domain objects.

It holds a shared_ptr reference to the underlying variant of the union.

Public Methods

void UnionMemberView<I, V> (Storage storage)

Defined at line 45 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

UnionMemberView<I, V> & operator= (const T & value)

Defined at line 47 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

UnionMemberView<I, V> & operator= (T && value)

Defined at line 52 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

bool operator bool ()

A std::optional-like API:

Defined at line 58 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

bool has_value ()

Defined at line 59 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

const T & value ()

Defined at line 61 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

T & value ()

Defined at line 65 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

T & value ()

Defined at line 69 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

const T * operator-> ()

Defined at line 71 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

T * operator-> ()

Defined at line 72 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

T * operator-> ()

Defined at line 73 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

template <class U>
T value_or (U && default_value)

Defined at line 76 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

std::optional<T> take ()

Move into a std::optional.

The union holds the same field with a moved-from state.

Defined at line 88 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h

template <typename U = T, typename = std::enable_if_t<std::is_copy_constructible<U>::value>>
std::optional<T> operator std::optional<std::variant_alternative<value-parameter-0-0, type-parameter-0-1>::type> ()

Copy into an std::optional.

The union holds the same field whose content is unchanged.

Defined at line 98 of file ../../sdk/lib/fidl/cpp/include/lib/fidl/cpp/natural_types.h