MCPcopy Create free account
hub / github.com/bytedance/sonic-cpp / eraseImpl

Method eraseImpl

include/sonic/dom/dynamicnode.h:806–818  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

804 }
805
806 ValueIterator eraseImpl(ValueIterator start, ValueIterator end) {
807 sonic_assert(this->IsArray());
808 sonic_assert(start <= end);
809 sonic_assert(start >= this->Begin());
810 sonic_assert(end <= this->End());
811
812 ValueIterator pos = this->Begin() + (start - this->Begin());
813 for (ValueIterator it = pos; it != end; ++it) it->~DNode();
814 std::memmove(static_cast<void*>(pos), end,
815 (this->End() - end) * sizeof(DNode));
816 this->subLength(end - start);
817 return start;
818 }
819
820 template <unsigned serializeFlags = kSerializeDefault>
821 SonicError serializeImpl(WriteBuffer& wb) const {

Callers 1

EraseFunction · 0.80

Calls 4

IsArrayMethod · 0.80
~DNodeMethod · 0.80
BeginMethod · 0.45
EndMethod · 0.45

Tested by

no test coverage detected