template <typename Impl>

struct Arrow

Defined at line 31 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

A wrapper object which delegates calls to |Impl| using the "->" operator.

It is useful for building modular messaging APIs with two separate naming

spaces: the FIDL methods are exposed behind "->", while other utility methods

are exposed behind the "." operator:

class MyClient {

public:

auto operator->() { return Arrow

<SomeClientImpl

>(this); }

void Bar() { ... }

};

MyClient client;

client->Foo(); // |Foo| is in |SomeClientImpl|.

client.Bar(); // |Bar| is in |MyClient|.

The methods from |SomeClientImpl| are accessible behind "->".

Public Methods

template <typename... Args>
void Arrow<Impl> (Args &&... args)

Defined at line 34 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

void Arrow<Impl> (const Arrow<Impl> & )

Copying/moving around this object is dangerous as it may lead to dangling

references. Disable these operations for now.

Defined at line 38 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

Arrow<Impl> & operator= (const Arrow<Impl> & )

Defined at line 39 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

void Arrow<Impl> (Arrow<Impl> && )

Defined at line 40 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

Arrow<Impl> & operator= (Arrow<Impl> && )

Defined at line 41 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

Impl * operator-> ()

Returns a pointer to the concrete messaging implementation.

Defined at line 44 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h

const Impl * operator-> ()

Defined at line 45 of file ../../sdk/lib/fidl/cpp/wire/include/lib/fidl/cpp/wire/internal/arrow.h