Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Static Public Member Functions | Static Public Attributes | List of all members
tonic::FfiDispatcher< void, void(*)(Args...), function > Struct Template Reference

#include <dart_args.h>

Static Public Member Functions

static void Call (typename DartConverter< typename std::remove_const< typename std::remove_reference< Args >::type >::type >::FfiType... args)
 
static bool AllowedAsLeafCall ()
 
static const char * GetReturnFfiRepresentation ()
 
static const char * GetReturnDartRepresentation ()
 
static void WriteFfiArguments (std::ostringstream *stream)
 
static void WriteDartArguments (std::ostringstream *stream)
 

Static Public Attributes

static const size_t n_args = sizeof...(Args)
 

Detailed Description

template<typename... Args, void(*)(Args...) function>
struct tonic::FfiDispatcher< void, void(*)(Args...), function >

Definition at line 455 of file dart_args.h.

Member Function Documentation

◆ AllowedAsLeafCall()

template<typename... Args, void(*)(Args...) function>
static bool tonic::FfiDispatcher< void, void(*)(Args...), function >::AllowedAsLeafCall ( )
inlinestatic

Definition at line 468 of file dart_args.h.

468 {
469 if constexpr (sizeof...(Args) > 0) {
470 return AllowedInLeafCall<Args...>();
471 }
472 return true;
473 }
bool AllowedInLeafCall()
Definition dart_args.h:295

◆ Call()

template<typename... Args, void(*)(Args...) function>
static void tonic::FfiDispatcher< void, void(*)(Args...), function >::Call ( typename DartConverter< typename std::remove_const< typename std::remove_reference< Args >::type >::type >::FfiType...  args)
inlinestatic

Definition at line 459 of file dart_args.h.

461 {
462 // Call C++ function, forwarding converted native arguments.
463 function(
464 DartConverter<typename std::remove_const<typename std::remove_reference<
465 Args>::type>::type>::FromFfi(args)...);
466 }
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
Dart_NativeFunction function
Definition fuchsia.cc:51

◆ GetReturnDartRepresentation()

template<typename... Args, void(*)(Args...) function>
static const char * tonic::FfiDispatcher< void, void(*)(Args...), function >::GetReturnDartRepresentation ( )
inlinestatic

Definition at line 479 of file dart_args.h.

◆ GetReturnFfiRepresentation()

template<typename... Args, void(*)(Args...) function>
static const char * tonic::FfiDispatcher< void, void(*)(Args...), function >::GetReturnFfiRepresentation ( )
inlinestatic

Definition at line 475 of file dart_args.h.

◆ WriteDartArguments()

template<typename... Args, void(*)(Args...) function>
static void tonic::FfiDispatcher< void, void(*)(Args...), function >::WriteDartArguments ( std::ostringstream *  stream)
inlinestatic

Definition at line 489 of file dart_args.h.

489 {
490 if constexpr (sizeof...(Args) > 0) {
492 }
493 }
void WriteDartArguments(std::ostringstream *stream)
Definition dart_args.h:283

◆ WriteFfiArguments()

template<typename... Args, void(*)(Args...) function>
static void tonic::FfiDispatcher< void, void(*)(Args...), function >::WriteFfiArguments ( std::ostringstream *  stream)
inlinestatic

Definition at line 483 of file dart_args.h.

483 {
484 if constexpr (sizeof...(Args) > 0) {
486 }
487 }
void WriteFfiArguments(std::ostringstream *stream)
Definition dart_args.h:270

Member Data Documentation

◆ n_args

template<typename... Args, void(*)(Args...) function>
const size_t tonic::FfiDispatcher< void, void(*)(Args...), function >::n_args = sizeof...(Args)
static

Definition at line 456 of file dart_args.h.


The documentation for this struct was generated from the following file: