void ResourceQueue::CopyData(uint64_t aOffset, uint32_t aCount, char* aDest) { uint32_t offset = 0; uint32_t start = GetAtOffset(aOffset, &offset); uint32_t end = std::min(GetAtOffset(aOffset + aCount, nullptr) + 1, uint32_t(GetSize())); for (uint32_t i = start; i < end; ++i) { ResourceItem* item = ResourceAt(i); uint32_t bytes = std::min(aCount, uint32_t(item->mData->Length() - offset)); if (bytes != 0) { memcpy(aDest, &(*item->mData)[offset], bytes); offset = 0; aCount -= bytes; aDest += bytes; } } }
//const ACLStr& ACLStr::operator[](IN int nOffset) const TCHAR ACLStr::operator[](IN int nOffset) { return GetAtOffset(nOffset); }