template <typename T>
struct WireOptional
Defined at line 26 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
|fidl::WireOptional
<T
>| wraps a wire union type |T| and represents the optional
version of that union. Conceptually it is similar to an |std::optional|, but
it is optimized to have the same memory layout as |T|, using the fact that
FIDL unions are naturally optional (an absent union consists of all zeros).
TODO(https://fxbug.dev/42061094): Consider using |fidl::WireOptional| to represent optional
vectors and optional strings.
Public Methods
void WireOptional<T> ()
Constructs an absent optional union.
Defined at line 29 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
void WireOptional<T> (const WireOptional<T> & other)
Defined at line 31 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
void WireOptional<T> (WireOptional<T> && other)
Defined at line 32 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
WireOptional<T> & operator= (const WireOptional<T> & other)
Defined at line 33 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
WireOptional<T> & operator= (WireOptional<T> && other)
Defined at line 34 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
void ~WireOptional<T> ()
Defined at line 35 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
void WireOptional<T> (const T & t)
Intentional implicit constructor to go from |T| to an |WireOptional
<T
>|
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 39 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
void WireOptional<T> (T && t)
Intentional implicit constructor to go from |T| to an |WireOptional
<T
>|
NOLINTNEXTLINE(google-explicit-constructor)
Defined at line 43 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
WireOptional<T> & operator= (const T & other)
Defined at line 45 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
WireOptional<T> & operator= (T && other)
Defined at line 49 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
bool has_value ()
Returns whether the union is present.
Defined at line 55 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
T & value ()
Accesses the union.
Defined at line 58 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
const T & value ()
Accesses the union.
Defined at line 64 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
T * operator-> ()
Defined at line 69 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
const T * operator-> ()
Defined at line 70 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
T & operator* ()
Defined at line 72 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
const T & operator* ()
Defined at line 73 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/optional.h
Friends
template <typename Utypename Constraintbool IsRecursiveclass Enable>
class WireCodingTraits