Files
thirdparty-ArduinoJson/include/ArduinoJson/StaticJsonBuffer.h
Benoit Blanchon 074c39ca5b Fixed namespaces
2014-10-18 23:05:54 +02:00

45 lines
714 B
C++

#pragma once
#include "JsonBuffer.h"
#include "JsonObject.h"
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;
};
}