MCPcopy Create free account
hub / github.com/SakuraEngine/SakuraEngine / allocate_view

Method allocate_view

modules/engine/runtime/src/ecs/storage.cpp:60–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

58}
59
60sugoi_chunk_view_t sugoi_storage_t::allocate_view(sugoi_group_t* group, EIndex count)
61{
62 sugoi_chunk_t* freeChunk = group->get_first_free_chunk();
63 if (freeChunk == nullptr)
64 freeChunk = group->new_chunk(count);
65 EIndex start = freeChunk->count;
66 EIndex allocated = std::min(count, freeChunk->get_capacity() - start);
67 group->resize_chunk(freeChunk, start + allocated);
68 structural_change(group, freeChunk);
69 return { freeChunk, start, allocated };
70}
71
72sugoi_chunk_view_t sugoi_storage_t::allocate_view_strict(sugoi_group_t* group, EIndex count)
73{

Callers 1

cloneMethod · 0.80

Calls 5

get_first_free_chunkMethod · 0.80
new_chunkMethod · 0.80
resize_chunkMethod · 0.80
minFunction · 0.50
get_capacityMethod · 0.45

Tested by

no test coverage detected