Work around missing move operations in MSVC12

This commit is contained in:
Jason Turner 2014-10-05 21:53:44 -06:00
parent 935e9de19e
commit 58d9e69479
4 changed files with 9 additions and 3 deletions

View File

@ -105,8 +105,10 @@ namespace chaiscript {
}
}
#if _MSC_VER != 1800
Any(Any &&) = default;
Any &operator=(Any &&t_any) = default;
#endif
template<typename ValueType,
typename = typename std::enable_if<!std::is_same<Any, typename std::decay<ValueType>::type>::value>::type>

View File

@ -233,7 +233,7 @@ namespace chaiscript
template<typename LHS, bool Float>
static Boxed_Value oper_rhs(Operators::Opers t_oper, const Boxed_Value &t_lhs, const Boxed_Value &t_rhs)
{
const Type_Info &inp_ = t_rhs.get_type_info();
const auto &inp_ = t_rhs.get_type_info();
if (inp_ == typeid(int)) {
return Go<LHS, int, Float>::go(t_oper, t_lhs, t_rhs);

View File

@ -61,9 +61,10 @@ namespace chaiscript
Data(const Data &) = delete;
#if !defined(_MSC_VER) || _MSC_VER != 1800
Data(Data &&) = default;
Data &operator=(Data &&rhs) = default;
#endif
Type_Info m_type_info;
chaiscript::detail::Any m_obj;
@ -172,9 +173,10 @@ namespace chaiscript
{
}
#if !defined(_MSC_VER) || _MSC_VER != 1800
Boxed_Value(Boxed_Value&&) = default;
Boxed_Value& operator=(Boxed_Value&&) = default;
#endif
Boxed_Value(const Boxed_Value&) = default;
Boxed_Value& operator=(const Boxed_Value&) = default;

View File

@ -47,8 +47,10 @@ namespace chaiscript
{
}
#if !defined(_MSC_VER) || _MSC_VER != 1800
Type_Info(Type_Info&&) = default;
Type_Info& operator=(Type_Info&&) = default;
#endif
Type_Info(const Type_Info&) = default;
Type_Info& operator=(const Type_Info&) = default;