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 eo::js::eo_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 (Eo *eo, 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 (Eo *eo, 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

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.