Пример #1
0
	std::int32_t call(state_t &state, T *obj, R(T::*handler)(Args...), std::uint32_t offset = 0,
					  typename std::enable_if<std::is_same<R, void>::value>::type * = nullptr)
	{
		call_impl(state, make_obj(obj, handler), offset);

		return 0;
	}
Пример #2
0
	std::int32_t call(state_t &state, R(*handler)(Args...),
					  typename std::enable_if<std::is_same<R, void>::value>::type * = nullptr)
	{
		call_impl(state, make_obj(handler), 0);

		return 0;
	}
Пример #3
0
 inline predicate_result
 operator()( Left const& left, Right const& right ) const
 {
     typedef typename is_array<Left>::type left_is_array;
     return call_impl( left, right, left_is_array() );
 }
Пример #4
0
	std::uint32_t call(state_t &state, HandlerT *handler,
		typename std::enable_if<std::is_same<R, void>::value>::type * = nullptr)
	{
		call_impl(state, make_obj<R, HandlerT, Args...>(handler), 0);
		return 0;
	}
Пример #5
0
	std::uint32_t call(state_t &state, HandlerT *handler,
		typename std::enable_if<!std::is_same<R, void>::value>::type * = nullptr)
	{
		using result_t = std::remove_cv<R>::type;
		return convertion_t<result_t>::to(state, call_impl(state, make_obj<R, HandlerT, Args...>(handler), 0));
	}
Пример #6
0
	std::int32_t call(state_t &state, T *obj, R(T::*handler)(Args...), std::uint32_t offset = 0,
					  typename std::enable_if<!std::is_same<R, void>::value>::type * = nullptr)
	{
		using result_t = std::remove_cv<R>::type;
		return convertion_t<result_t>::to(state, call_impl(state, make_obj(obj, handler), offset));
	}
Пример #7
0
	inline void call(state_t &state, T *obj, const std::tuple<Args...> &args)
	{
		call_impl(state, make_obj(obj, args), 1);
	}
Пример #8
0
auto call(F f, std::tuple<Args...> t)
{
    return call_impl(f, t, make_index_seq<sizeof...(Args)>{});
}
Пример #9
0
				static SPROUT_CONSTEXPR type call(src_type const& e) {
					return call_impl(sprout::index_range<0, sizeof...(Args)>::make());
				}
auto call(Fn&& fn, std::tuple<Args...> const& args) {
	return call_impl(fn, args, std::make_index_sequence<sizeof...(Args)>{});
}