EuropaTools/include/europa/io/PakWriter.h
modeco80 8d607675d0 chore(cmake): cmake license header, update a bit
Instead of using set_target_properties on all tool binaries,
instead we can use target_compile_features([xxx] PUBLIC cxx_std_20).

This properly alienates projects which depend on libeuropa, allowing the src/tools CMakeLists to be trimmed down quite a bit.

Also fixes a build break I accidentally introduced.
2022-09-21 02:55:57 -05:00

40 lines
751 B
C++

//
// EuropaTools
//
// (C) 2021-2022 modeco80 <lily.modeco80@protonmail.ch>
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#ifndef EUROPA_IO_PAKWRITER_H
#define EUROPA_IO_PAKWRITER_H
#include <europa/io/PakFile.h>
#include <iosfwd>
#include <string>
#include <unordered_map>
namespace europa::io {
/**
* Writer for package files.
*/
struct PakWriter {
void Init(structs::PakHeader::Version version);
std::unordered_map<std::string, PakFile>& GetFiles();
/**
* Write the resulting archive to the given output stream.
*/
void Write(std::ostream& os);
private:
structs::PakHeader pakHeader {};
std::unordered_map<std::string, PakFile> archiveFiles;
};
} // namespace europa::io
#endif // EUROPA_IO_PAKWRITER_H