JUCE  v6.1.6 (6.0.8-1114)
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
juce::ArgumentList Struct Reference

Holds a list of command-line arguments, and provides useful methods for searching and operating on them. More...

#include <juce_ConsoleApplication.h>

Collaboration diagram for juce::ArgumentList:

Classes

struct  Argument
 One of the arguments in an ArgumentList. More...
 

Public Member Functions

 ArgumentList (const ArgumentList &)=default
 
 ArgumentList (const String &executable, const String &arguments)
 Tokenises a string containing all the arguments to create an argument list. More...
 
 ArgumentList (int argc, char *argv[])
 Parses a standard argv/argc pair to create an argument list. More...
 
 ArgumentList (String executable, StringArray arguments)
 Creates an argument list for a given executable. More...
 
void checkMinNumArguments (int expectedMinNumberOfArgs) const
 Throws an error unless there are at least the given number of arguments. More...
 
bool containsOption (StringRef option) const
 Returns true if the given string matches one of the arguments. More...
 
void failIfOptionIsMissing (StringRef option) const
 Throws an error unless the given option is found in the argument list. More...
 
File getExistingFileForOption (StringRef option) const
 Looks for a file argument using getFileForOption() and fails with a suitable error if the file doesn't exist. More...
 
File getExistingFileForOptionAndRemove (StringRef option)
 Looks for a file argument using getFileForOption() and fails with a suitable error if the file doesn't exist. More...
 
File getExistingFolderForOption (StringRef option) const
 Looks for a filename argument using getFileForOption() and fails with a suitable error if the file isn't a folder that exists. More...
 
File getExistingFolderForOptionAndRemove (StringRef option)
 Looks for a filename argument using getFileForOption() and fails with a suitable error if the file isn't a folder that exists. More...
 
File getFileForOption (StringRef option) const
 Looks for the value of argument using getValueForOption() and tries to parse that value as a file. More...
 
File getFileForOptionAndRemove (StringRef option)
 Looks for the value of argument using getValueForOption() and tries to parse that value as a file. More...
 
String getValueForOption (StringRef option) const
 Looks for a given argument and returns either its assigned value (for long options) or the string that follows it (for short options). More...
 
int indexOfOption (StringRef option) const
 Returns the index of the given string if it matches one of the arguments, or -1 if it doesn't. More...
 
ArgumentListoperator= (const ArgumentList &)=default
 
Argument operator[] (int index) const
 Returns one of the arguments. More...
 
bool removeOptionIfFound (StringRef option)
 Returns true if the given string matches one of the arguments, and also removes the argument from the list if found. More...
 
String removeValueForOption (StringRef option)
 Looks for a given argument and returns either its assigned value (for long options) or the string that follows it (for short options). More...
 
int size () const
 Returns the number of arguments in the list. More...
 

Public Attributes

Array< Argumentarguments
 The list of arguments (not including the name of the executable that was invoked). More...
 
String executableName
 The name or path of the executable that was invoked, as it was specified on the command-line. More...
 

Detailed Description

Holds a list of command-line arguments, and provides useful methods for searching and operating on them.

You can create an ArgumentList manually, or give it some argv/argc values from a main() function to parse.

See also
ConsoleApplication

@tags{Core}

Constructor & Destructor Documentation

◆ ArgumentList() [1/4]

juce::ArgumentList::ArgumentList ( String  executable,
StringArray  arguments 
)

Creates an argument list for a given executable.

◆ ArgumentList() [2/4]

juce::ArgumentList::ArgumentList ( int  argc,
char *  argv[] 
)

Parses a standard argv/argc pair to create an argument list.

◆ ArgumentList() [3/4]

juce::ArgumentList::ArgumentList ( const String executable,
const String arguments 
)

Tokenises a string containing all the arguments to create an argument list.

◆ ArgumentList() [4/4]

juce::ArgumentList::ArgumentList ( const ArgumentList )
default

Member Function Documentation

◆ checkMinNumArguments()

void juce::ArgumentList::checkMinNumArguments ( int  expectedMinNumberOfArgs) const

Throws an error unless there are at least the given number of arguments.

◆ containsOption()

bool juce::ArgumentList::containsOption ( StringRef  option) const

Returns true if the given string matches one of the arguments.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h"

See also
removeOptionIfFound

◆ failIfOptionIsMissing()

void juce::ArgumentList::failIfOptionIsMissing ( StringRef  option) const

Throws an error unless the given option is found in the argument list.

◆ getExistingFileForOption()

File juce::ArgumentList::getExistingFileForOption ( StringRef  option) const

Looks for a file argument using getFileForOption() and fails with a suitable error if the file doesn't exist.

◆ getExistingFileForOptionAndRemove()

File juce::ArgumentList::getExistingFileForOptionAndRemove ( StringRef  option)

Looks for a file argument using getFileForOption() and fails with a suitable error if the file doesn't exist.

This works like getExistingFileForOption() but also removes the option argument (and any value arguments) from the list if they are found.

◆ getExistingFolderForOption()

File juce::ArgumentList::getExistingFolderForOption ( StringRef  option) const

Looks for a filename argument using getFileForOption() and fails with a suitable error if the file isn't a folder that exists.

◆ getExistingFolderForOptionAndRemove()

File juce::ArgumentList::getExistingFolderForOptionAndRemove ( StringRef  option)

Looks for a filename argument using getFileForOption() and fails with a suitable error if the file isn't a folder that exists.

This works like getExistingFolderForOption() but also removes the option argument (and any value arguments) from the list if they are found.

◆ getFileForOption()

File juce::ArgumentList::getFileForOption ( StringRef  option) const

Looks for the value of argument using getValueForOption() and tries to parse that value as a file.

If the option isn't found, or if the value can't be parsed as a filename, it will throw an error.

◆ getFileForOptionAndRemove()

File juce::ArgumentList::getFileForOptionAndRemove ( StringRef  option)

Looks for the value of argument using getValueForOption() and tries to parse that value as a file.

This works like getFileForOption() but also removes the option argument (and any value arguments) from the list if they are found.

◆ getValueForOption()

String juce::ArgumentList::getValueForOption ( StringRef  option) const

Looks for a given argument and returns either its assigned value (for long options) or the string that follows it (for short options).

The option can also be a list of different versions separated by pipes, e.g. "--help|-h" If it finds a long option, it will look for an assignment with a '=' sign, e.g. "--file=foo.txt", and will return the string following the '='. If there's no '=', it will return an empty string. If it finds a short option, it will attempt to return the argument that follows it, unless it's another option. If the argument isn't found, this returns an empty string.

◆ indexOfOption()

int juce::ArgumentList::indexOfOption ( StringRef  option) const

Returns the index of the given string if it matches one of the arguments, or -1 if it doesn't.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h"

◆ operator=()

ArgumentList& juce::ArgumentList::operator= ( const ArgumentList )
default

◆ operator[]()

Argument juce::ArgumentList::operator[] ( int  index) const

Returns one of the arguments.

◆ removeOptionIfFound()

bool juce::ArgumentList::removeOptionIfFound ( StringRef  option)

Returns true if the given string matches one of the arguments, and also removes the argument from the list if found.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h"

See also
containsOption

◆ removeValueForOption()

String juce::ArgumentList::removeValueForOption ( StringRef  option)

Looks for a given argument and returns either its assigned value (for long options) or the string that follows it (for short options).

This works like getValueForOption() but also removes the option argument (and any value arguments) from the list if they are found.

◆ size()

int juce::ArgumentList::size ( ) const

Returns the number of arguments in the list.

Member Data Documentation

◆ arguments

Array<Argument> juce::ArgumentList::arguments

The list of arguments (not including the name of the executable that was invoked).

◆ executableName

String juce::ArgumentList::executableName

The name or path of the executable that was invoked, as it was specified on the command-line.


The documentation for this struct was generated from the following file: