m_results is an unrolled linked list.
I have a function:
myUnrolledList::Iterator findResultByVirtualAddr(myUnrolledList::Iterator start, uint64_t VirtualAddr) {
auto it = std::find_if(start, m_results.end(), [this, VirtualAddr](const LMapLookuper::Result& result) {
return this->hasVirtualAddr(result, VirtualAddr);
});
return it;
}
on top of it I have a loop:
auto ResultIt = m_results.begin();
auto ResultIt = findResultByVirtualAddr(ResultIt, VirtualAddress);
while(lmapResultIt != lmapLookuper.m_results.end()) {
auto lmapResult = *lmapResultIt;
trace_result(lmapResult)
ResultIt++;
ResultIt = findResultByVirtualAddr(ResultIt,readRequest.m_dataUnitVirtualAddress);
}
compiler has an issue with the last line in the while loop:
ResultIt = findResultByVirtualAddr(ResultIt,readRequest.m_dataUnitVirtualAddress);
saying:
function “containers::UnrolledLinkedList<T, ULL_MEM_PAGE_SIZE_BYTES, Allocator, SMO_MAX_SIZE_BYTES>::Iterator::operator=(const containers::UnrolledLinkedList<dpm::io_handler::LMapLookuper::Result, 8192UL, dpm::io_handler::LMapLookuper::Result::AllocatorType, 1024UL>::Iterator &) [with T=dpm::io_handler::LMapLookuper::Result, ULL_MEM_PAGE_SIZE_BYTES=8192UL, Allocator=dpm::io_handler::LMapLookuper::Result::AllocatorType, SMO_MAX_SIZE_BYTES=1024UL]” (declared implicitly) cannot be referenced — it is a deleted functionC/C++(1776)
what am I doing wrong?
when working the same with simple vector it works.