Attempt to satisfy G++4.6 and decltype usage

This commit is contained in:
Jason Turner
2014-09-20 08:31:18 -06:00
parent 8c31255012
commit 0e381e333e
2 changed files with 7 additions and 4 deletions

View File

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