Flutter Engine
tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)> Struct Template Reference

#include <dart_args.h>

Inheritance diagram for tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>:
tonic::DartArgHolder< indices, ArgTypes >

Public Types

using FunctionPtr = ResultType(C::*)(ArgTypes...)
 
- Public Types inherited from tonic::DartArgHolder< indices, ArgTypes >
using ValueType = typename std::remove_const< typename std::remove_reference< ArgTypes >::type >::type
 

Public Member Functions

 DartDispatcher (DartArgIterator *it)
 
void Dispatch (FunctionPtr func)
 
- Public Member Functions inherited from tonic::DartArgHolder< indices, ArgTypes >
 DartArgHolder (DartArgIterator *it)
 

Public Attributes

DartArgIteratorit_
 
- Public Attributes inherited from tonic::DartArgHolder< indices, ArgTypes >
ValueType value
 

Detailed Description

template<size_t... indices, typename C, typename ResultType, typename... ArgTypes>
struct tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>

Definition at line 181 of file dart_args.h.

Member Typedef Documentation

◆ FunctionPtr

template<size_t... indices, typename C , typename ResultType , typename... ArgTypes>
using tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>::FunctionPtr = ResultType (C::*)(ArgTypes...)

Definition at line 183 of file dart_args.h.

Constructor & Destructor Documentation

◆ DartDispatcher()

template<size_t... indices, typename C , typename ResultType , typename... ArgTypes>
tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>::DartDispatcher ( DartArgIterator it)
inlineexplicit

Definition at line 187 of file dart_args.h.

188  : DartArgHolder<indices, ArgTypes>(it)..., it_(it) {}

Member Function Documentation

◆ Dispatch()

template<size_t... indices, typename C , typename ResultType , typename... ArgTypes>
void tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>::Dispatch ( FunctionPtr  func)
inline

Definition at line 190 of file dart_args.h.

References tonic::DartArgIterator::args(), and tonic::DartReturn().

190  {
191  DartReturn((GetReceiver<C>(it_->args())->*func)(
193  it_->args());
194  }
Dart_NativeArguments args() const
Definition: dart_args.h:37
void DartReturn(T result, Dart_NativeArguments args)
Definition: dart_args.h:97

Member Data Documentation

◆ it_

template<size_t... indices, typename C , typename ResultType , typename... ArgTypes>
DartArgIterator* tonic::DartDispatcher< IndicesHolder< indices... >, ResultType(C::*)(ArgTypes...)>::it_

Definition at line 185 of file dart_args.h.


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