From 58f3256389cbd196752601a04ae512f3dfd954f0 Mon Sep 17 00:00:00 2001 From: Jason Turner Date: Fri, 16 Nov 2012 13:58:03 -0700 Subject: [PATCH] Fix function pointer issue for substr on VS 2010 32bit --- include/chaiscript/dispatchkit/bootstrap_stl.hpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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");