4 #include "UnicodeString.h"
6 #include "../ArchiveSupport/Merge7z/Merge7z.h"
8 struct Merge7zFormatRegister
10 explicit Merge7zFormatRegister(Merge7z::Format *(*pfnGuessFormat)(const String& path))
14 static void Add(Merge7z::Format *(*pfnGuessFormat)(const String& path))
16 optionalFormats.push_back(pfnGuessFormat);
18 static Merge7z::Format *GuessFormat(const String& path)
20 for (size_t i = 0; i < Merge7zFormatRegister::optionalFormats.size(); ++i)
22 Merge7z::Format* pFormat = Merge7zFormatRegister::optionalFormats[i](path);
23 if (pFormat != nullptr)
29 static std::vector<Merge7z::Format *(*)(const String& path)> optionalFormats;