diff --git a/include/chaiscript/dispatchkit/bootstrap_stl.hpp b/include/chaiscript/dispatchkit/bootstrap_stl.hpp index ff5cbf1..b7dd04c 100644 --- a/include/chaiscript/dispatchkit/bootstrap_stl.hpp +++ b/include/chaiscript/dispatchkit/bootstrap_stl.hpp @@ -218,6 +218,12 @@ namespace chaiscript #endif } + template + StringType substr_helper(const StringType &str, int begin, int end) + { + return (str.*Func)(begin, end); + } + template boost::function return_int(size_t (T::*t_func)(P1, P2) const) { @@ -635,7 +641,8 @@ namespace chaiscript m->add(fun(find_func(detail::return_int(static_cast(&String::find_first_not_of)))), "find_first_not_of"); m->add(fun(find_func(detail::return_int(static_cast(&String::find_last_not_of)))), "find_last_not_of"); - m->add(fun(substr_func(static_cast(&String::substr))), "substr"); + + m->add(fun(&detail::substr_helper(&String::substr)>), "substr"); m->add(fun(&String::c_str), "c_str"); m->add(fun(&String::data), "data");