#pragma region CPL License /* Nuclex Native Framework Copyright (C) 2002-2023 Nuclex Development Labs This library is free software; you can redistribute it and/or modify it under the terms of the IBM Common Public License as published by the IBM Corporation; either version 1.0 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the IBM Common Public License for more details. You should have received a copy of the IBM Common Public License along with this library */ #pragma endregion // CPL License #ifndef NUCLEX_SUPPORT_TEXT_COMMANDLINE_H #define NUCLEX_SUPPORT_TEXT_COMMANDLINE_H #include "Nuclex/Support/Config.h" #include namespace Nuclex { namespace Support { namespace Text { // ------------------------------------------------------------------------------------------- // /// Stores a command line parameter string in a code-friendly format /// /// This class can be used to prepare command lines when executing external programs /// and to parse the command line passed to the running program by the operating system. /// The command line is a simple parameter collection that can either be processed directly /// or be used to build more complex command line binding systems on top of. /// class CommandLine { // Wraps an individual argument that has been passed on the command line class Argument; /// Initializes a new, empty command line public: NUCLEX_SUPPORT_API CommandLine(); /// Releases all resources owned by the command line public: NUCLEX_SUPPORT_API ~CommandLine(); /// Parses a the command line parameter from a string /// String containing the command line parameters public: NUCLEX_SUPPORT_API CommandLine Parse(const std::string ¶meterString); //private: struct private: std::string parameterString; }; // ------------------------------------------------------------------------------------------- // }}} // namespace Nuclex::Support::Text #include "Nuclex/Support/Text/CommandLineArgument.h" #endif // NUCLEX_SUPPORT_TEXT_COMMANDLINE_H