Add GetNextFileAsVector method

This commit is contained in:
2020-12-28 10:52:11 +01:00
parent 6d2d827f19
commit e9c87fe9d4
2 changed files with 15 additions and 0 deletions

View File

@@ -206,6 +206,19 @@ namespace openVulkanoCpp
return std::nullopt;
}
std::optional<std::pair<FileDescription, std::vector<char>>> ArchiveReader::GetNextFileAsVector()
{
if (SkipTill(std::filesystem::file_type::regular))
{
std::pair<FileDescription, std::vector<char>> file = { GetNextDescription(), std::vector<char>() };
file.second.resize(file.first.size);
ChkErr(archive_read_data(m_archive, file.second.data(), file.second.size()));
ReadNextHeader();
return file;
}
return std::nullopt;
}
bool ArchiveReader::GetNextFileAsStream(const std::function<void(const FileDescription&, std::istream&)>& streamReader)
{
if (SkipTill(std::filesystem::file_type::regular))