Files
thirdparty-ArduinoJson/include/ArduinoJson/StaticJsonBuffer.hpp

32 lines
534 B
C++

#pragma once
#include "JsonBuffer.hpp"
#include "JsonObject.hpp"
namespace ArduinoJson {
template <int CAPACITY>
class StaticJsonBuffer : public JsonBuffer {
friend class JsonObject;
public:
explicit StaticJsonBuffer() : _size(0) {}
virtual ~StaticJsonBuffer() {}
int capacity() { return CAPACITY; }
int size() { return _size; }
protected:
virtual void *allocateNode() {
if (_size >= CAPACITY) return 0;
return &_buffer[_size++];
}
private:
Internals::JsonNode _buffer[CAPACITY];
int _size;
};
}