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(Any &&) = default;
Any &operator=(Any &&t_any) = default; Any &operator=(Any &&t_any) = default;
#endif
template<typename ValueType, template<typename ValueType,
typename = typename std::enable_if<!std::is_same<Any, typename std::decay<ValueType>::type>::value>::type> 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> template<typename LHS, bool Float>
static Boxed_Value oper_rhs(Operators::Opers t_oper, const Boxed_Value &t_lhs, const Boxed_Value &t_rhs) 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)) { if (inp_ == typeid(int)) {
return Go<LHS, int, Float>::go(t_oper, t_lhs, t_rhs); return Go<LHS, int, Float>::go(t_oper, t_lhs, t_rhs);

View File

@ -61,9 +61,10 @@ namespace chaiscript
Data(const Data &) = delete; Data(const Data &) = delete;
#if !defined(_MSC_VER) || _MSC_VER != 1800
Data(Data &&) = default; Data(Data &&) = default;
Data &operator=(Data &&rhs) = default; Data &operator=(Data &&rhs) = default;
#endif
Type_Info m_type_info; Type_Info m_type_info;
chaiscript::detail::Any m_obj; 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(Boxed_Value&&) = default;
Boxed_Value& operator=(Boxed_Value&&) = default; Boxed_Value& operator=(Boxed_Value&&) = default;
#endif
Boxed_Value(const Boxed_Value&) = default; Boxed_Value(const Boxed_Value&) = default;
Boxed_Value& operator=(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(Type_Info&&) = default;
Type_Info& operator=(Type_Info&&) = default; Type_Info& operator=(Type_Info&&) = default;
#endif
Type_Info(const Type_Info&) = default; Type_Info(const Type_Info&) = default;
Type_Info& operator=(const Type_Info&) = default; Type_Info& operator=(const Type_Info&) = default;