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

#include <dart_args.h>

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

Public Types

using FunctionPtr = ReturnType(C::*)(ArgTypes...) const
 
- 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 ReturnType, typename... ArgTypes>
struct tonic::DartDispatcher< IndicesHolder< indices... >, ReturnType(C::*)(ArgTypes...) const >

Definition at line 160 of file dart_args.h.

Member Typedef Documentation

◆ FunctionPtr

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

Definition at line 163 of file dart_args.h.

Constructor & Destructor Documentation

◆ DartDispatcher()

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

Definition at line 167 of file dart_args.h.

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

Member Function Documentation

◆ Dispatch()

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

Definition at line 170 of file dart_args.h.

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

170  {
171  DartReturn((GetReceiver<C>(it_->args())->*func)(
173  it_->args());
174  }
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 ReturnType , typename... ArgTypes>
DartArgIterator* tonic::DartDispatcher< IndicesHolder< indices... >, ReturnType(C::*)(ArgTypes...) const >::it_

Definition at line 165 of file dart_args.h.


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