Attempt again to satisfy gcc 4.6

This commit is contained in:
Jason Turner
2014-09-20 14:17:41 -06:00
parent 0e381e333e
commit b6e8605aee

View File

@@ -19,7 +19,7 @@ namespace chaiscript
namespace detail namespace detail
{ {
template<typename L, typename R> template<typename L, typename R>
auto assign(L l, R r) -> decltype((l = r)) auto assign(L l, R r) -> L&
{ {
return (l = r); return (l = r);
} }
@@ -79,7 +79,7 @@ namespace chaiscript
} }
template<typename L, typename R> template<typename L, typename R>
auto assign_sum(L l, R r) -> decltype(( l += r)) auto assign_sum(L l, R r) -> L&
{ {
return (l += r); return (l += r);
} }
@@ -229,7 +229,7 @@ namespace chaiscript
template<typename T> template<typename T>
ModulePtr assign(ModulePtr m = ModulePtr(new Module())) ModulePtr assign(ModulePtr m = ModulePtr(new Module()))
{ {
m->add(chaiscript::fun(static_cast<T& (*)(T&, const T&)>(&detail::assign<T &, const T&>)), "="); m->add(chaiscript::fun(&detail::assign<T &, const T&>), "=");
return m; return m;
} }
@@ -299,7 +299,7 @@ namespace chaiscript
template<typename T> template<typename T>
ModulePtr assign_sum(ModulePtr m = ModulePtr(new Module())) ModulePtr assign_sum(ModulePtr m = ModulePtr(new Module()))
{ {
m->add(chaiscript::fun(static_cast<T & (*)(T &, const T&)>(&detail::assign_sum<T &, const T&>)), "+="); m->add(chaiscript::fun(&detail::assign_sum<T &, const T&>), "+=");
return m; return m;
} }