Files
thirdparty-ArduinoJson/include/ArduinoJson/StaticJsonBuffer.hpp
Benoit Blanchon ca0fbf00f9 Cleaning up...
2014-10-31 12:16:32 +01:00

36 lines
685 B
C++

// Copyright Benoit Blanchon 2014
// MIT License
//
// Arduino JSON library
// https://github.com/bblanchon/ArduinoJson
#pragma once
#include "JsonBuffer.hpp"
namespace ArduinoJson {
template <size_t CAPACITY>
class StaticJsonBuffer : public JsonBuffer {
public:
explicit StaticJsonBuffer() : _size(0) {}
virtual ~StaticJsonBuffer() {}
size_t capacity() const { return CAPACITY; }
size_t size() const { return _size; }
void clear() { _size = 0; }
protected:
virtual void* alloc(size_t size) {
if (_size + size > CAPACITY) return NULL;
void* p = &_buffer[_size];
_size += size;
return p;
}
private:
char _buffer[CAPACITY];
size_t _size;
};
}