efl::eo::js::method_caller< In, Out, Ownership, F, Return, Parameters > Struct Template Reference

Data Structures | Public Types | Public Member Functions | Static Public Member Functions | Data Fields
efl::eo::js::method_caller< In, Out, Ownership, F, Return, Parameters > Struct Template Reference

## Data Structures
struct | is_inout
struct | is_out
struct | out_transform

## Public Types
typedef eina::_mpl::function_params< F >::type | parameters_t

## Public Member Functions
template<typename OutParameter , std::size_t I, typename R >
eina::js::compatibility_return_type | create_return_unique_value (eina::js::compatibility_callback_info_type args, R const &r) const
template<typename OutParameters , typename Outs >
eina::js::compatibility_return_type | create_return_value (eina::js::compatibility_callback_info_type args, Outs const &outs, typename std::enable_if< std::tuple_size< Outs >::value==1 >::type *=0) const
template<typename OutParameters , typename Outs >
eina::js::compatibility_return_type | create_return_value (eina::js::compatibility_callback_info_type, Outs const &, typename std::enable_if< std::tuple_size< Outs >::value==0 >::type *=0) const
template<typename OutParameters , typename Outs >
eina::js::compatibility_return_type | create_return_value (eina::js::compatibility_callback_info_type args, Outs const &outs, typename std::enable_if<(std::tuple_size< Outs >::value > 1)>::type *=0) const
template<typename OutParameters , typename R , typename Outs >
eina::js::compatibility_return_type | create_return_value (eina::js::compatibility_callback_info_type args, R const &r, Outs const &, typename std::enable_if< std::tuple_size< Outs >::value==0 >::type *=0) const
template<typename OutParameters , std::size_t Offset, typename Outs , std::size_t... S>
void | set_return (v8::Isolate *isolate, v8::Local< v8::Array > r, Outs const &outs, eina::index_sequence< S... >) const
template<typename OutParameters , typename R , typename Outs >
eina::js::compatibility_return_type | create_return_value (eina::js::compatibility_callback_info_type args, R const &r, Outs const &outs, typename std::enable_if< std::tuple_size< Outs >::value !=0 >::type *=0) const
template<typename OutParameters , std::size_t... I>
eina::js::compatibility_return_type | aux (eina::js::compatibility_callback_info_type args, eina::index_sequence< I... >, std::true_type) const
template<typename OutParameters , std::size_t... I>
eina::js::compatibility_return_type | aux (eina::js::compatibility_callback_info_type args, eina::index_sequence< I... >, std::false_type) const
eina::js::compatibility_return_type | operator() (eina::js::compatibility_callback_info_type args)
template<typename A >
| method_caller (F f, A &&c)

## Static Public Member Functions
template<std::size_t I, typename Outs >
static std::tuple_element< I, parameters_t >::type | get_value (eina::js::compatibility_callback_info_type args, Outs &, v8::Isolate *isolate, char const *class_name, std::false_type)
template<std::size_t I, typename Outs >
static std::add_pointer< typename std::tuple_element< eina::_mpl::tuple_find< std::integral_constant< std::size_t, I >, Out >::value, Outs >::type >::type | get_value (eina::js::compatibility_callback_info_type, Outs &outs, v8::Isolate *, char const *, std::true_type)
template<std::size_t I, typename Outs >
static void | init_inout (eina::js::compatibility_callback_info_type args, Outs &outs, v8::Isolate *isolate, char const *class_name, std::true_type)
template<std::size_t I, typename Outs >
static void | init_inout (eina::js::compatibility_callback_info_type, Outs &, v8::Isolate *, char const *, std::false_type)

## Data Fields
F | function
std::array< const char *, std::tuple_size< Ownership >::value+1 > | class_names
| Hold the names of the type of each argument, with the return's type name at the end.