Reordered the code. It seems to stop clang 3.4.2 in RHEL 7 from crashing intermittently.

This commit is contained in:
David Guthrie 2018-09-18 16:38:59 -04:00
parent 99939d6340
commit 4d780b091b
2 changed files with 28 additions and 26 deletions

View file

@ -7691,19 +7691,6 @@ class basic_json
// specialization of std::swap, and std::hash // specialization of std::swap, and std::hash
namespace std namespace std
{ {
/*!
@brief exchanges the values of two JSON objects
@since version 1.0.0
*/
template<>
inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
is_nothrow_move_constructible<nlohmann::json>::value and
is_nothrow_move_assignable<nlohmann::json>::value
)
{
j1.swap(j2);
}
/// hash value for JSON objects /// hash value for JSON objects
template<> template<>
@ -7739,6 +7726,20 @@ struct less< ::nlohmann::detail::value_t>
} }
}; };
/*!
@brief exchanges the values of two JSON objects
@since version 1.0.0
*/
template<>
inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
is_nothrow_move_constructible<nlohmann::json>::value and
is_nothrow_move_assignable<nlohmann::json>::value
)
{
j1.swap(j2);
}
} // namespace std } // namespace std
/*! /*!

View file

@ -18764,19 +18764,6 @@ class basic_json
// specialization of std::swap, and std::hash // specialization of std::swap, and std::hash
namespace std namespace std
{ {
/*!
@brief exchanges the values of two JSON objects
@since version 1.0.0
*/
template<>
inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
is_nothrow_move_constructible<nlohmann::json>::value and
is_nothrow_move_assignable<nlohmann::json>::value
)
{
j1.swap(j2);
}
/// hash value for JSON objects /// hash value for JSON objects
template<> template<>
@ -18812,6 +18799,20 @@ struct less< ::nlohmann::detail::value_t>
} }
}; };
/*!
@brief exchanges the values of two JSON objects
@since version 1.0.0
*/
template<>
inline void swap<nlohmann::json>(nlohmann::json& j1, nlohmann::json& j2) noexcept(
is_nothrow_move_constructible<nlohmann::json>::value and
is_nothrow_move_assignable<nlohmann::json>::value
)
{
j1.swap(j2);
}
} // namespace std } // namespace std
/*! /*!