LLVM  8.0.1
Classes | Namespaces | Macros | Typedefs | Enumerations | Functions | Variables
CommandLine.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <climits>
#include <cstddef>
#include <functional>
#include <initializer_list>
#include <string>
#include <type_traits>
#include <vector>
Include dependency graph for CommandLine.h:

Go to the source code of this file.

Classes

class  llvm::cl::OptionCategory
 
class  llvm::cl::SubCommand
 
class  llvm::cl::Option
 
struct  llvm::cl::desc
 
struct  llvm::cl::value_desc
 
struct  llvm::cl::initializer< Ty >
 
struct  llvm::cl::LocationClass< Ty >
 
struct  llvm::cl::cat
 
struct  llvm::cl::sub
 
struct  llvm::cl::GenericOptionValue
 
struct  llvm::cl::OptionValue< DataType >
 
struct  llvm::cl::OptionValueBase< DataType, isClass >
 
class  llvm::cl::OptionValueCopy< DataType >
 
struct  llvm::cl::OptionValueBase< DataType, false >
 
struct  llvm::cl::OptionValue< DataType >
 
struct  llvm::cl::OptionValue< cl::boolOrDefault >
 
struct  llvm::cl::OptionValue< std::string >
 
struct  llvm::cl::OptionEnumValue
 
class  llvm::cl::ValuesClass
 
class  llvm::cl::generic_parser_base
 
class  llvm::cl::generic_parser_base::GenericOptionInfo
 
class  llvm::cl::parser< DataType >
 
class  llvm::cl::parser< DataType >::OptionInfo
 
class  llvm::cl::basic_parser_impl
 
class  llvm::cl::basic_parser< DataType >
 
class  llvm::cl::parser< bool >
 
class  llvm::cl::parser< boolOrDefault >
 
class  llvm::cl::parser< int >
 
class  llvm::cl::parser< unsigned >
 
class  llvm::cl::parser< unsigned long long >
 
class  llvm::cl::parser< double >
 
class  llvm::cl::parser< float >
 
class  llvm::cl::parser< std::string >
 
class  llvm::cl::parser< char >
 
struct  llvm::cl::OptionDiffPrinter< ParserDT, ValDT >
 
struct  llvm::cl::OptionDiffPrinter< DT, DT >
 
struct  llvm::cl::applicator< Mod >
 
struct  llvm::cl::applicator< char[n]>
 
struct  llvm::cl::applicator< const char[n]>
 
struct  llvm::cl::applicator< StringRef >
 
struct  llvm::cl::applicator< NumOccurrencesFlag >
 
struct  llvm::cl::applicator< ValueExpected >
 
struct  llvm::cl::applicator< OptionHidden >
 
struct  llvm::cl::applicator< FormattingFlags >
 
struct  llvm::cl::applicator< MiscFlags >
 
class  llvm::cl::opt_storage< DataType, ExternalStorage, isClass >
 
class  llvm::cl::opt_storage< DataType, false, true >
 
class  llvm::cl::opt_storage< DataType, false, false >
 
class  llvm::cl::opt< DataType, ExternalStorage, ParserClass >
 
class  llvm::cl::list_storage< DataType, StorageClass >
 
class  llvm::cl::list_storage< DataType, bool >
 
class  llvm::cl::list< DataType, StorageClass, ParserClass >
 
struct  llvm::cl::multi_val
 
class  llvm::cl::bits_storage< DataType, StorageClass >
 
class  llvm::cl::bits_storage< DataType, bool >
 
class  llvm::cl::bits< DataType, Storage, ParserClass >
 
class  llvm::cl::alias
 
struct  llvm::cl::aliasopt
 
struct  llvm::cl::extrahelp
 

Namespaces

 llvm
 This class represents lattice values for constants.
 
 llvm::cl
 cl Namespace - This namespace contains all of the command line option processing machinery.
 

Macros

#define clEnumVal(ENUMVAL, DESC)   llvm::cl::OptionEnumValue { #ENUMVAL, int(ENUMVAL), DESC }
 
#define clEnumValN(ENUMVAL, FLAGNAME, DESC)   llvm::cl::OptionEnumValue { FLAGNAME, int(ENUMVAL), DESC }
 

Typedefs

using llvm::cl::VersionPrinterTy = std::function< void(raw_ostream &)>
 
using llvm::cl::TokenizerCallback = void(*)(StringRef Source, StringSaver &Saver, SmallVectorImpl< const char * > &NewArgv, bool MarkEOLs)
 String tokenization function type. More...
 

Enumerations

enum  llvm::cl::NumOccurrencesFlag {
  llvm::cl::Optional = 0x00, llvm::cl::ZeroOrMore = 0x01, llvm::cl::Required = 0x02, llvm::cl::OneOrMore = 0x03,
  llvm::cl::ConsumeAfter = 0x04
}
 
enum  llvm::cl::ValueExpected { llvm::cl::ValueOptional = 0x01, llvm::cl::ValueRequired = 0x02, llvm::cl::ValueDisallowed = 0x03 }
 
enum  llvm::cl::OptionHidden { llvm::cl::NotHidden = 0x00, llvm::cl::Hidden = 0x01, llvm::cl::ReallyHidden = 0x02 }
 
enum  llvm::cl::FormattingFlags {
  llvm::cl::NormalFormatting = 0x00, llvm::cl::Positional = 0x01, llvm::cl::Prefix = 0x02, llvm::cl::AlwaysPrefix = 0x03,
  llvm::cl::Grouping = 0x04
}
 
enum  llvm::cl::MiscFlags { llvm::cl::CommaSeparated = 0x01, llvm::cl::PositionalEatsArgs = 0x02, llvm::cl::Sink = 0x04 }
 
enum  llvm::cl::boolOrDefault { llvm::cl::BOU_UNSET, llvm::cl::BOU_TRUE, llvm::cl::BOU_FALSE }
 

Functions

bool llvm::cl::ParseCommandLineOptions (int argc, const char *const *argv, StringRef Overview="", raw_ostream *Errs=nullptr, const char *EnvVar=nullptr)
 
void llvm::cl::ParseEnvironmentOptions (const char *progName, const char *envvar, const char *Overview="")
 ParseEnvironmentOptions - An alternative entry point to the CommandLine library, which allows you to read the program's name from the caller (as PROGNAME) and its command-line arguments from an environment variable (whose name is given in ENVVAR). More...
 
void llvm::cl::SetVersionPrinter (VersionPrinterTy func)
 ===------------------------------------------------------------------—===// SetVersionPrinter - Override the default (LLVM specific) version printer used to print out the version when –version is given on the command line. More...
 
void llvm::cl::AddExtraVersionPrinter (VersionPrinterTy func)
 ===------------------------------------------------------------------—===// AddExtraVersionPrinter - Add an extra printer to use in addition to the default one. More...
 
void llvm::cl::PrintOptionValues ()
 
void llvm::cl::AddLiteralOption (Option &O, StringRef Name)
 Adds a new option for parsing and provides the option it refers to. More...
 
template<class Ty >
initializer< Ty > llvm::cl::init (const Ty &Val)
 
template<class Ty >
LocationClass< Ty > llvm::cl::location (Ty &L)
 
template<typename... OptsTy>
ValuesClass llvm::cl::values (OptsTy... Options)
 Helper to build a ValuesClass by forwarding a variable number of arguments as an initializer list to the ValuesClass constructor. More...
 
template<class ParserClass , class DT >
void llvm::cl::printOptionDiff (const Option &O, const generic_parser_base &P, const DT &V, const OptionValue< DT > &Default, size_t GlobalWidth)
 
template<class ParserClass , class ValDT >
void llvm::cl::printOptionDiff (const Option &O, const basic_parser< typename ParserClass::parser_data_type > &P, const ValDT &V, const OptionValue< ValDT > &Default, size_t GlobalWidth)
 
template<class Opt , class Mod , class... Mods>
void llvm::cl::apply (Opt *O, const Mod &M, const Mods &... Ms)
 
template<class Opt , class Mod >
void llvm::cl::apply (Opt *O, const Mod &M)
 
void llvm::cl::PrintVersionMessage ()
 Utility function for printing version number. More...
 
void llvm::cl::PrintHelpMessage (bool Hidden=false, bool Categorized=false)
 This function just prints the help message, exactly the same way as if the -help or -help-hidden option had been given on the command line. More...
 
StringMap< Option * > & llvm::cl::getRegisteredOptions (SubCommand &Sub= *TopLevelSubCommand)
 Use this to get a StringMap to all registered named options (e.g. More...
 
iterator_range< typename SmallPtrSet< SubCommand *, 4 >::iterator > llvm::cl::getRegisteredSubcommands ()
 Use this to get all registered SubCommands from the provided parser. More...
 
void llvm::cl::TokenizeGNUCommandLine (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char *> &NewArgv, bool MarkEOLs=false)
 Tokenizes a command line that can contain escapes and quotes. More...
 
void llvm::cl::TokenizeWindowsCommandLine (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char *> &NewArgv, bool MarkEOLs=false)
 Tokenizes a Windows command line which may contain quotes and escaped quotes. More...
 
void llvm::cl::tokenizeConfigFile (StringRef Source, StringSaver &Saver, SmallVectorImpl< const char *> &NewArgv, bool MarkEOLs=false)
 Tokenizes content of configuration file. More...
 
bool llvm::cl::readConfigFile (StringRef CfgFileName, StringSaver &Saver, SmallVectorImpl< const char *> &Argv)
 Reads command line options from the given configuration file. More...
 
bool llvm::cl::ExpandResponseFiles (StringSaver &Saver, TokenizerCallback Tokenizer, SmallVectorImpl< const char *> &Argv, bool MarkEOLs=false, bool RelativeNames=false)
 Expand response files on a command line recursively using the given StringSaver and tokenization strategy. More...
 
void llvm::cl::HideUnrelatedOptions (cl::OptionCategory &Category, SubCommand &Sub= *TopLevelSubCommand)
 Mark all options not part of this category as cl::ReallyHidden. More...
 
void llvm::cl::HideUnrelatedOptions (ArrayRef< const cl::OptionCategory *> Categories, SubCommand &Sub= *TopLevelSubCommand)
 Mark all options not part of the categories as cl::ReallyHidden. More...
 
void llvm::cl::ResetAllOptionOccurrences ()
 Reset all command line options to a state that looks as if they have never appeared on the command line. More...
 
void llvm::cl::ResetCommandLineParser ()
 Reset the command line parser back to its initial state. More...
 

Variables

OptionCategory llvm::cl::GeneralCategory
 
ManagedStatic< SubCommandllvm::cl::TopLevelSubCommand
 
ManagedStatic< SubCommandllvm::cl::AllSubCommands
 

Macro Definition Documentation

◆ clEnumVal

#define clEnumVal (   ENUMVAL,
  DESC 
)    llvm::cl::OptionEnumValue { #ENUMVAL, int(ENUMVAL), DESC }

Definition at line 616 of file CommandLine.h.

◆ clEnumValN

#define clEnumValN (   ENUMVAL,
  FLAGNAME,
  DESC 
)    llvm::cl::OptionEnumValue { FLAGNAME, int(ENUMVAL), DESC }

Definition at line 618 of file CommandLine.h.