MCPcopy Create free account
hub / github.com/couchbase/fleece / push

Method push

Fleece/Core/Encoder.cc:674–689  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

672 }
673
674 void Encoder::push(tags tag, size_t reserve) {
675 if (_usuallyFalse(_stackDepth == 0))
676 reset(); // I'm being reused after finish(), so initialize
677 if (_usuallyFalse(_stackDepth >= _stack.size()))
678 _stack.resize(2*_stackDepth);
679 _items = &_stack[_stackDepth++];
680 _items->reset(tag);
681 if (reserve > 0) {
682 if (_usuallyTrue(tag == kDictTag)) {
683 _items->reserve(2 * reserve);
684 _items->keys.reserve(reserve);
685 } else {
686 _items->reserve(reserve);
687 }
688 }
689 }
690
691 void Encoder::pop() {
692 throwIf(_stackDepth <= 1, InternalError, "Encoder stack underflow!");

Callers

nothing calls this directly

Calls 3

sizeMethod · 0.45
resizeMethod · 0.45
resetMethod · 0.45

Tested by

no test coverage detected