Fixed ambiguous overload with JsonArraySubscript and JsonObjectSubscript (issue #122)

This commit is contained in:
Benoit Blanchon
2015-09-28 22:14:50 +02:00
parent d5e25b12b8
commit c6a4bfa886
25 changed files with 749 additions and 329 deletions

View File

@@ -8,6 +8,11 @@
#include "JsonSubscriptBase.hpp"
#ifdef _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4522)
#endif
namespace ArduinoJson {
class JsonArraySubscript : public JsonSubscriptBase<JsonArraySubscript> {
public:
@@ -16,6 +21,15 @@ class JsonArraySubscript : public JsonSubscriptBase<JsonArraySubscript> {
using JsonSubscriptBase<JsonArraySubscript>::operator=;
JsonArraySubscript& operator=(const JsonArraySubscript& src) {
return assign<const JsonVariant&>(src);
}
template <typename T>
JsonArraySubscript& operator=(const T& src) {
return assign<const JsonVariant&>(src);
}
FORCE_INLINE bool success() const { return _index < _array.size(); }
FORCE_INLINE operator JsonVariant() const { return _array.get(_index); }
@@ -52,3 +66,7 @@ inline std::ostream& operator<<(std::ostream& os,
#endif
} // namespace ArduinoJson
#ifdef _MSC_VER
#pragma warning(pop)
#endif