struct Icarus { //core.cpp auto error() const -> string; auto success() -> bool; auto failure(const string& message) -> bool; auto manifest(string location) -> string; auto import(string location) -> bool; auto concatenate(vector& output, const string& location) -> void; //famicom.cpp auto famicomManifest(const string& location) -> string; auto famicomManifest(vector& buffer, const string& location) -> string; auto famicomImport(vector& buffer, const string& location) -> bool; //super-famicom.cpp auto superFamicomManifest(const string& location) -> string; auto superFamicomManifest(vector& buffer, const string& location) -> string; auto superFamicomImport(vector& buffer, const string& location) -> bool; auto superFamicomImportScanManifest(vector& roms, Markup::Node node) -> void; //game-boy.cpp auto gameBoyManifest(const string& location) -> string; auto gameBoyManifest(vector& buffer, const string& location) -> string; auto gameBoyImport(vector& buffer, const string& location) -> bool; //game-boy-color.cpp auto gameBoyColorManifest(const string& location) -> string; auto gameBoyColorManifest(vector& buffer, const string& location) -> string; auto gameBoyColorImport(vector& buffer, const string& location) -> bool; //game-boy-advance.cpp auto gameBoyAdvanceManifest(const string& location) -> string; auto gameBoyAdvanceManifest(vector& buffer, const string& location) -> string; auto gameBoyAdvanceImport(vector& buffer, const string& location) -> bool; //bsx-satellaview.cpp auto bsxSatellaviewManifest(const string& location) -> string; auto bsxSatellaviewManifest(vector& buffer, const string& location) -> string; auto bsxSatellaviewImport(vector& buffer, const string& location) -> bool; //sufami-turbo.cpp auto sufamiTurboManifest(const string& location) -> string; auto sufamiTurboManifest(vector& buffer, const string& location) -> string; auto sufamiTurboImport(vector& buffer, const string& location) -> bool; private: string errorMessage; };