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

Method containerRealloc

include/sonic/dom/dynamicnode.h:531–541  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

529
530 template <typename T>
531 sonic_force_inline void* containerRealloc(void* old_ptr, size_t old_cap,
532 size_t new_cap, Allocator& alloc) {
533 size_t old_size = old_cap * sizeof(T) + sizeof(MetaNode);
534 size_t new_size = new_cap * sizeof(T) + sizeof(MetaNode);
535 void* mem = alloc.Realloc(old_ptr, old_size, new_size);
536 // init Metanode
537 MetaNode* meta = static_cast<MetaNode*>(mem);
538 meta->SetMetaCap(new_cap);
539
540 return mem;
541 }
542
543 sonic_force_inline void* children() const {
544 sonic_assert(this->IsContainer());

Callers

nothing calls this directly

Calls 2

SetMetaCapMethod · 0.80
ReallocMethod · 0.45

Tested by

no test coverage detected