Reduced size by 52 bytes by inlining createNode()

This commit is contained in:
Benoit Blanchon
2014-11-08 21:16:47 +01:00
parent dc1d0ca698
commit e94089ca56
2 changed files with 9 additions and 10 deletions

View File

@ -6,9 +6,10 @@
#pragma once
#include "ListIterator.hpp"
#include "ListConstIterator.hpp"
#include "../JsonBuffer.hpp"
#include "ListConstIterator.hpp"
#include "ListIterator.hpp"
#include "PlacementNew.hpp"
namespace ArduinoJson {
namespace Internals {
@ -48,7 +49,12 @@ class List {
const_iterator end() const { return const_iterator(NULL); }
protected:
node_type *createNode();
node_type *createNode() {
if (!_buffer) return NULL;
void *ptr = _buffer->alloc(sizeof(node_type));
return ptr ? new (ptr) node_type() : NULL;
}
void addNode(node_type *node);
void removeNode(node_type *nodeToRemove);

View File

@ -20,13 +20,6 @@ int List<T>::size() const {
return nodeCount;
}
template <typename T>
typename List<T>::node_type *List<T>::createNode() {
if (!_buffer) return NULL;
void *ptr = _buffer->alloc(sizeof(node_type));
return ptr ? new (ptr) node_type() : NULL;
}
template <typename T>
void List<T>::addNode(node_type *nodeToAdd) {
if (_firstNode) {