1 #ifndef MANAK_T_MANAK_CASE_HPP_INCLUDED
2 #define MANAK_T_MANAK_CASE_HPP_INCLUDED
7 template<
class Case,
typename RType,
typename... Args>
12 : Case(
"",
"", 0, 0,
""){}
15 const std::string& library_name,
18 const size_t iterations,
20 : Case(name, library_name, tolerance, iterations, success_p),
28 std::tuple<Args...> temp(args...);
35 std::tuple<Args...> temp(args...);
40 template<
typename T,
typename... Args2>
43 std::list<std::tuple<Args...>> args = fun(params...);
44 for(
auto s_arg : args)
51 template<
typename... Args2>
54 std::list<std::tuple<Args...>> args = fun(params...);
55 for(
auto s_arg : args)
62 template<
typename ST,
typename... Args2>
65 std::list<std::tuple<ST, Args...>> args = fun(params...);
66 for(
auto s_arg : args)
80 template<
class Case,
typename RType,
typename... Args>
82 const std::string& library_name,
83 RType (*fun)(Args...),
85 const size_t iterations,
88 return new TManakCase<Case, RType, Args...>(name, library_name, std::function<RType(Args...)>(fun), tolerance, iterations, success_p);
91 template<
class Case,
typename RType,
typename... Args>
93 const std::string& library_name,
94 std::function<RType(Args...)> fun,
96 const size_t iterations,
99 return new TManakCase<Case, RType, Args...>(name, library_name, fun, tolerance, iterations, success_p);
104 #endif // MANAK_T_MANAK_CASE_HPP_INCLUDED
TManakCase * AddCustomArgs_N(std::list< std::tuple< ST, Args...>>(&fun)(Args2...), Args2...params)
TManakCase * AddArgs_N(const std::string &name, Args...args)
RType Caller(std::function< RType(Args...)> fun, P params)
TManakCase< Case, RType, Args...> * CTManakCase(const std::string &name, const std::string &library_name, RType(*fun)(Args...), double tolerance, const size_t iterations, double success_p)
TManakCase * AddArgs(Args...args)
TManakCase * AddCustomArgs(std::list< std::tuple< Args...>>(&fun)(Args2...), Args2...params)
TManakCase * AddCustomArgs(T fun, Args2...params)
std::function< RType(Args...)> BindToObject(RType(C::*fun)(Args...), C *c)
TManakCase(const std::string &name, const std::string &library_name, std::function< RType(Args...)> t_function, double tolerance, const size_t iterations, double success_p)
std::function< RType(Args...)> t_function