Reduced generator size. Fixed Visual Studio warnings

This commit is contained in:
Benoit Blanchon
2015-08-19 16:08:19 +02:00
parent ef2641b49b
commit 39c506b419
10 changed files with 34 additions and 37 deletions

View File

@ -15,13 +15,7 @@ class String : public std::string {
public:
String(const char *cstr = "") : std::string(cstr) {}
String(const String &str) : std::string(str) {}
explicit String(char c);
explicit String(unsigned char);
explicit String(int);
explicit String(unsigned int);
explicit String(long);
explicit String(unsigned long);
explicit String(float, unsigned char decimalPlaces = 2);
explicit String(double, unsigned char decimalPlaces = 2);
};

View File

@ -23,6 +23,8 @@ class DynamicStringBuilder : public Print {
}
private:
DynamicStringBuilder &operator=(const DynamicStringBuilder &);
String &_str;
};
}

View File

@ -8,6 +8,7 @@
#include "../Arduino/Print.hpp"
#include "Encoding.hpp"
#include "ForceInline.hpp"
namespace ArduinoJson {
namespace Internals {
@ -69,7 +70,7 @@ class JsonWriter {
protected:
void write(char c) { _length += _sink.write(c); }
void write(const char *s) { _length += _sink.print(s); }
FORCE_INLINE void write(const char *s) { _length += _sink.print(s); }
Print &_sink;
size_t _length;

View File

@ -16,13 +16,6 @@ class JsonArraySubscript : public JsonSubscriptBase<JsonArraySubscript> {
using JsonSubscriptBase::operator=;
FORCE_INLINE JsonArraySubscript& operator=(const JsonArraySubscript& other) {
// to prevent Visual Studio warning C4512: assignment operator could not be
// generated
_array.set(_index, other._array.get(other._index));
return *this;
}
FORCE_INLINE bool success() const { return _index < _array.size(); }
FORCE_INLINE operator JsonVariant() const { return _array.get(_index); }

View File

@ -19,13 +19,6 @@ class JsonObjectSubscript
using JsonSubscriptBase<JsonObjectSubscript<TKey> >::operator=;
FORCE_INLINE JsonObjectSubscript<TKey>& operator=(
const JsonObjectSubscript<TKey>& other) {
// to prevent Visual Studio warning C4512: assignment operator could not be
// generated
return set(other.get());
}
FORCE_INLINE bool success() const { return _object.containsKey(_key); }
FORCE_INLINE operator JsonVariant() const { return _object.get(_key); }

View File

@ -101,7 +101,7 @@ const char *JsonVariant::as<const char *>() const;
template <>
inline bool JsonVariant::as<bool>() const {
return as<long>();
return as<long>() != 0;
}
template <>