diff --git a/include/cereal/archives/json.hpp b/include/cereal/archives/json.hpp index 22d4fe95..4382b592 100644 --- a/include/cereal/archives/json.hpp +++ b/include/cereal/archives/json.hpp @@ -605,12 +605,14 @@ namespace cereal void loadValue(std::string & val) { search(); val = itsIteratorStack.back().value().GetString(); ++itsIteratorStack.back(); } //! Loads a value from the current node - 64-bit unsigned long overload - typename std::enable_if::type + typename std::enable_if<(sizeof(unsigned long) == sizeof(uint64_t)) && + !std::is_same::value, void>::type loadValue(unsigned long & val) { search(); val = itsIteratorStack.back().value().GetUint64(); ++itsIteratorStack.back(); } //! Loads a value from the current node - 64-bit long overload - typename std::enable_if::type + typename std::enable_if::value, void>::type loadValue(long & val) { search(); val = itsIteratorStack.back().value().GetInt64(); ++itsIteratorStack.back(); }