Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
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 193 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 195 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 199 of file dart_args.h.

200 : 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 202 of file dart_args.h.

202 {
203 DartReturn((GetReceiver<C>(it_->args())->*func)(
204 DartArgHolder<indices, ArgTypes>::value...),
205 it_->args());
206 }
Dart_NativeArguments args() const
Definition dart_args.h:39
void DartReturn(T result, Dart_NativeArguments args)
Definition dart_args.h:99

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 197 of file dart_args.h.


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