| 111 | } |
| 112 | |
| 113 | void sugoi_storage_t::free(const sugoi_chunk_view_t& view) |
| 114 | { |
| 115 | using namespace sugoi; |
| 116 | auto group = view.chunk->group; |
| 117 | structural_change(group, view.chunk); |
| 118 | uint32_t toMove = std::min(view.count, view.chunk->count - (view.start + view.count)); |
| 119 | if (toMove > 0) |
| 120 | { |
| 121 | sugoi_chunk_view_t dstView{ view.chunk, view.start, toMove }; |
| 122 | EIndex srcIndex = view.chunk->count - toMove; |
| 123 | entities.move_entities(dstView, srcIndex); |
| 124 | move_view(dstView, srcIndex); |
| 125 | } |
| 126 | group->resize_chunk(view.chunk, view.chunk->count - view.count); |
| 127 | } |
| 128 | |
| 129 | void sugoi_storage_t::structural_change(sugoi_group_t* group, sugoi_chunk_t* chunk) |
| 130 | { |
nothing calls this directly
no test coverage detected