MCPcopy Create free account
hub / github.com/bblanchon/ArduinoJson / getOrAddElement

Method getOrAddElement

src/ArduinoJson/Array/ArrayImpl.hpp:31–48  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

29}
30
31inline VariantData* ArrayData::getOrAddElement(size_t index,
32 ResourceManager* resources) {
33 auto it = createIterator(resources);
34 while (!it.done() && index > 0) {
35 it.next(resources);
36 index--;
37 }
38 if (it.done())
39 index++;
40 VariantData* element = it.data();
41 while (index > 0) {
42 element = addElement(resources);
43 if (!element)
44 return nullptr;
45 index--;
46 }
47 return element;
48}
49
50inline VariantData* ArrayData::getElement(
51 size_t index, const ResourceManager* resources) const {

Callers 1

getOrCreateDataFunction · 0.45

Calls 4

addElementFunction · 0.85
doneMethod · 0.80
nextMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected