void Downloader::NeededChunk::put_block(uint32_t offset, const blob& content) { auto inserted = file_map_.insert({offset, content.size()}).second; if(inserted) { #ifndef FOPEN_BACKEND std::copy(content.begin(), content.end(), mapped_file_.data()+offset); #else if(wrapped_file_.ios().tellp() != offset) wrapped_file_.ios().seekp(offset); wrapped_file_.ios().write((char*)content.data(), content.size()); #endif } }