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

#include <dart_args.h>

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

Public Types

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

Definition at line 120 of file dart_args.h.

Member Typedef Documentation

◆ CtorResultType

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

Definition at line 123 of file dart_args.h.

◆ FunctionPtr

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

Definition at line 122 of file dart_args.h.

Constructor & Destructor Documentation

◆ DartDispatcher()

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

Definition at line 127 of file dart_args.h.

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

Member Function Documentation

◆ Dispatch()

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

Definition at line 130 of file dart_args.h.

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

130  {
132  it_->args());
133  }
Dart_NativeArguments args() const
Definition: dart_args.h:37
void DartReturn(T result, Dart_NativeArguments args)
Definition: dart_args.h:97

◆ DispatchCtor()

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

Definition at line 135 of file dart_args.h.

135  {
136  return (*func)(DartArgHolder<indices, ArgTypes>::value...);
137  }

Member Data Documentation

◆ it_

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

Definition at line 125 of file dart_args.h.


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