// Copyright 2012 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // This class works with command lines: building and parsing. // Arguments with prefixes ('--', '-', and on Windows, '/') are switches. // Switches will precede all other arguments without switch prefixes. // Switches can optionally have values, delimited by '=', e.g., "-switch=value". // If a switch is specified multiple times, only the last value is used. // An argument of "--" will terminate switch parsing during initialization, // interpreting subsequent tokens as non-switch arguments, regardless of prefix. // There is a singleton read-only CommandLine that represents the command line // that the current process was started with. It must be initialized in main(). #ifndef BASE_COMMAND_LINE_H_ #define BASE_COMMAND_LINE_H_ #include <stddef.h> #include <functional> #include <map> #include <memory> #include <string> #include <string_view> #include <vector> #include "base/base_export.h" #include "base/containers/span.h" #include "base/debug/debugging_buildflags.h" #include "build/build_config.h" #if BUILDFLAG(ENABLE_COMMANDLINE_SEQUENCE_CHECKS) #include "base/sequence_checker.h" #endif // BUILDFLAG(ENABLE_COMMANDLINE_SEQUENCE_CHECKS) namespace base { class DuplicateSwitchHandler; class FilePath; class BASE_EXPORT CommandLine { … }; class BASE_EXPORT DuplicateSwitchHandler { … }; } // namespace base #endif // BASE_COMMAND_LINE_H_