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

Function clone_view

modules/engine/runtime/src/ecs/chunk_view.cpp:662–682  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

660}
661
662void clone_view(const sugoi_chunk_view_t& dstV, const sugoi_chunk_t* srcC, EIndex srcStart) noexcept
663{
664 archetype_t* srcType = srcC->type;
665 archetype_t* dstType = dstV.chunk->type;
666 EIndex* srcOffsets = srcType->offsets[srcC->pt];
667 EIndex* dstOffsets = dstType->offsets[dstV.chunk->pt];
668 uint32_t* srcSizes = srcType->sizes;
669 uint32_t* srcAligns = srcType->aligns;
670 uint32_t* srcElemSizes = srcType->elemSizes;
671 sugoi_type_set_t srcTypes = srcType->type;
672 uint32_t* srcCallbackFlags = srcType->callbackFlags;
673
674 for(uint32_t i = 0; i < srcType->firstChunkComponent; ++i)
675 {
676 type_index_t srcT = srcTypes.data[i];
677 decltype(srcType->callbacks[i].move) callback = nullptr;
678 if((srcCallbackFlags[i] & SUGOI_CALLBACK_FLAG_MOVE) != 0) SUGOI_UNLIKELY
679 callback = srcType->callbacks[i].move;
680 move_impl(dstV, srcC, srcStart, srcT, srcOffsets[i], dstOffsets[i], srcSizes[i], srcAligns[i], srcElemSizes[i], callback);
681 }
682}
683
684bool full_view(const sugoi_chunk_view_t& view) noexcept
685{

Callers 1

cloneMethod · 0.85

Calls 1

move_implFunction · 0.85

Tested by

no test coverage detected