| 147 | } |
| 148 | |
| 149 | sonic_force_inline bool EndObject(uint32_t pairs) { |
| 150 | NodeType &obj = st_[parent_]; |
| 151 | size_t old = obj.o.next.ofs; |
| 152 | obj.setLength(pairs, kObject); |
| 153 | if (pairs) { |
| 154 | void *mem = obj.template containerMalloc<MemberType>(pairs, *alloc_); |
| 155 | obj.setChildren(mem); |
| 156 | internal::Xmemcpy<sizeof(MemberType)>( |
| 157 | (void *)obj.getObjChildrenFirstUnsafe(), (void *)(&obj + 1), pairs); |
| 158 | } else { |
| 159 | obj.setChildren(nullptr); |
| 160 | } |
| 161 | np_ = parent_ + 1; |
| 162 | parent_ = old; |
| 163 | return true; |
| 164 | } |
| 165 | |
| 166 | sonic_force_inline bool EndArray(uint32_t count) { |
| 167 | NodeType &arr = st_[parent_]; |
no test coverage detected