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