| 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()); |
nothing calls this directly
no test coverage detected