| ROSE 0.11.145.354
    | 
Command line processing utility functions. Functions in this namespace are in the ROSE Utilities library and.
| Functions | |
| ROSE_UTIL_API std::vector< std::string > | generateArgListFromString (std::string commandline) | 
| Separate a string into individual parameters and store them into a string vector. | |
| ROSE_UTIL_API std::string | generateStringFromArgList (const std::vector< std::string > &argList) | 
| Convert a vector of string to a single string. | |
| ROSE_UTIL_API std::vector< std::string > | generateArgListFromArgcArgv (int argc, const char *argv[]) | 
| Convert an argc-argv pair into a string vector. | |
| std::vector< std::string > | generateArgListFromArgcArgv (int argc, char *argv[]) | 
| ROSE_UTIL_API void | generateArgcArgvFromList (std::vector< std::string > argList, int &argc, char **&argv) | 
| Convert a string vector back to an argc-argv pair. | |
| ROSE_UTIL_API std::vector< std::string > | generateOptionList (const std::vector< std::string > &argList, std::string inputPrefix) | 
| Looks for inputPrefix prefixed options. | |
| ROSE_UTIL_API std::vector< std::string > | generateOptionListWithDeclaredParameters (const std::vector< std::string > &argList, std::string inputPrefix) | 
| Looks for inputPrefix-prefixed options. | |
| ROSE_UTIL_API std::vector< std::string > | generateOptionWithNameParameterList (std::vector< std::string > &argList, std::string inputPrefix, std::string newPrefix="") | 
| Find all options matching 'inputPrefix:optionName' || 'inputPrefix:optionName optionValue' from argList, strip off 'inputPrefix:' or replace it by 'newPrefix' if provided. | |
| ROSE_UTIL_API bool | isOption (std::vector< std::string > &argv, std::string optionPrefix, std::string Option, bool removeOption) | 
| Search 'argv' for an option like optionPrefixOption, remove the option if 'removeOption' is true. e.g. isOption(argv,"-rose:","(C99|C99_only)",false) | |
| ROSE_UTIL_API bool | isOptionWithParameter (std::vector< std::string > &argv, std::string optionPrefix, std::string Option, int &optionParameter, bool removeOption) | 
| Search 'argv' for 'optionPrefixOption value', store the integer value into 'optionParameter'. | |
| ROSE_UTIL_API bool | isOptionWithParameter (std::vector< std::string > &argv, std::string optionPrefix, std::string Option, float &optionParameter, bool removeOption) | 
| Search 'argv' for 'optionPrefixOption value', store the float value into 'optionParameter'. Remove the original option if 'removeOption' is true. | |
| ROSE_DLL_API bool | isOptionWithParameter (std::vector< std::string > &argv, std::string optionPrefix, std::string Option, std::string &optionParameter, bool removeOption) | 
| Search 'argv' for 'optionPrefixOption value', store the string type value into 'optionParameter'. Remove the original option if 'removeOption' is true. | |
| ROSE_UTIL_API void | addListToCommandLine (std::vector< std::string > &argv, std::string prefix, std::vector< std::string > argList) | 
| Add the strings in argList to the command line represented by argc and argv, prepend 'prefix' to each of the arguments. | |
| ROSE_UTIL_API void | removeArgs (std::vector< std::string > &argv, std::string prefix) | 
| Remove all options matching a specified prefix 'prefix' from the argument list 'argv'. | |
| ROSE_UTIL_API void | removeArgsWithParameters (std::vector< std::string > &argv, std::string prefix) | 
| Remove all options matching a specified prefix 'prefix' from the argument list 'argv', as well as the option values following them. | |
| ROSE_UTIL_API void | removeAllFileNamesExcept (std::vector< std::string > &argv, std::vector< std::string > filenameList, std::string exceptFilename) | 
| Remove file names specified in filenameList from argv, except for 'exceptFilename'. | |
| ROSE_UTIL_API std::string | generateStringFromArgList (std::vector< std::string > argList, bool skipInitialEntry, bool skipSourceFiles) | 
| Build a string from the argList. | |
| ROSE_DLL_API std::vector< std::string > | generateSourceFilenames (std::vector< std::string > argList, bool binaryMode) | 
| Build the list of isolated file names from the command line. | |
| ROSE_UTIL_API void | addCppSourceFileSuffix (const std::string &suffix) | 
| Add another valid source file suffix (warning deprecated as it is not consistently used) | |
| ROSE_UTIL_API bool | isSourceFilename (const std::string &name, bool isAdaProject=false) | 
| tests if namerefers to a source file. | |
| ROSE_UTIL_API bool | isObjectFilename (std::string name) | 
| ROSE_DLL_API bool | isExecutableFilename (std::string name) | 
| ROSE_DLL_API bool | isValidFileWithExecutableFileSuffix (std::string name) | 
| ROSE_UTIL_API bool | isCFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isUPCFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isCppFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortranFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortranFileNameSuffixRequiringCPP (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortran77FileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortran90FileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortran95FileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortran2003FileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isFortran2008FileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isCoArrayFortranFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isPHPFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isPythonFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isCsharpFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isAdaFileNameSuffix (const std::string &suffix, bool isAdaProject) | 
| tests if suffixrefers to a file extension for Ada. | |
| ROSE_UTIL_API bool | isJovialFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isCudaFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isOpenCLFileNameSuffix (const std::string &suffix) | 
| ROSE_UTIL_API bool | isJavaFile (const std::string &fileName) | 
| ROSE_UTIL_API bool | isJavaClassFile (const std::string &fileName) | 
| ROSE_UTIL_API bool | isJavaJarFile (const std::string &fileName) | 
| ROSE_UTIL_API bool | isJavaJvmFile (const std::string &fileName) | 
| ROSE_UTIL_API void | initSourceFileSuffixList () | 
| ROSE_UTIL_API void | initObjectFileSuffixList () | 
| ROSE_DLL_API void | initExecutableFileSuffixList () | 
| ROSE_DLL_API bool | isOptionTakingSecondParameter (std::string argument) | 
| ROSE_DLL_API bool | isOptionTakingThirdParameter (std::string argument) | 
| Variables | |
| std::vector< std::string > | extraCppSourceFileSuffixes | 
| 
 | inline | 
Definition at line 24 of file commandline_processing.h.
| ROSE_UTIL_API std::vector< std::string > CommandlineProcessing::generateOptionList | ( | const std::vector< std::string > & | argList, | 
| std::string | inputPrefix | ||
| ) | 
Looks for inputPrefix prefixed options.
Push the stripped-off option in the result list. Warning: As opposed to what the former documentation was saying this function doesn't modify argList.
| ROSE_UTIL_API std::vector< std::string > CommandlineProcessing::generateOptionListWithDeclaredParameters | ( | const std::vector< std::string > & | argList, | 
| std::string | inputPrefix | ||
| ) | 
Looks for inputPrefix-prefixed options.
Push the stripped-off option in the result list. If isOptionTakingSecondParameter of the inputPrefix-prefixed returns true, add the parameter(s) to the result list.
| ROSE_UTIL_API std::vector< std::string > CommandlineProcessing::generateOptionWithNameParameterList | ( | std::vector< std::string > & | argList, | 
| std::string | inputPrefix, | ||
| std::string | newPrefix = "" | ||
| ) | 
Find all options matching 'inputPrefix:optionName' || 'inputPrefix:optionName optionValue' from argList, strip off 'inputPrefix:' or replace it by 'newPrefix' if provided.
Returns a string list of matched options. All matching options and values are removed from argList.
| ROSE_UTIL_API bool CommandlineProcessing::isOption | ( | std::vector< std::string > & | argv, | 
| std::string | optionPrefix, | ||
| std::string | Option, | ||
| bool | removeOption | ||
| ) | 
Search 'argv' for an option like optionPrefixOption, remove the option if 'removeOption' is true. e.g. isOption(argv,"-rose:","(C99|C99_only)",false)
The argument 'option' adds () to the actual option, and allows the |(OR) operations.For example: CommandlineProcessing::isOption(argv,"-rose:","(skip_syntax_check)",true) CommandlineProcessing::isOption(argv,"-rose:","(C99|C99_only)",false)
| ROSE_UTIL_API bool CommandlineProcessing::isOptionWithParameter | ( | std::vector< std::string > & | argv, | 
| std::string | optionPrefix, | ||
| std::string | Option, | ||
| int & | optionParameter, | ||
| bool | removeOption | ||
| ) | 
Search 'argv' for 'optionPrefixOption value', store the integer value into 'optionParameter'.
Remove the original option if 'removeOption' is true. Available value types are: str, float, double, int, short, long, unsigned int, unsigned short, unsigned long, char, etc.
| ROSE_UTIL_API bool CommandlineProcessing::isSourceFilename | ( | const std::string & | name, | 
| bool | isAdaProject = false | ||
| ) | 
tests if name refers to a source file. 
isAdaProject enables .a to be recognized as Ada source file.
isAdaProject would be enabled if -x ada is specified on the command line.
| ROSE_UTIL_API bool CommandlineProcessing::isAdaFileNameSuffix | ( | const std::string & | suffix, | 
| bool | isAdaProject | ||
| ) | 
tests if suffix refers to a file extension for Ada. 
| isAdaProject | if set enables the suffix .a to be recognized as an Ada file |