#pragma once #include #include #include #include class CommandLineArgs { std::vector mArugments; std::filesystem::path mLaunchPath; public: CommandLineArgs(); static std::unique_ptr CreateUnique(); void RecordLaunchPath(); std::filesystem::path GetLaunchPath(); void Process(int argc, char *argv[]); void Process(const std::vector& args); std::size_t GetNumberOfArgs() const; std::string GetArg(std::size_t index) const; }; using CommandLineArgsUPtr = std::unique_ptr;