JUCE
Classes | Public Member Functions | Public Attributes | List of all members
ArgumentList Struct Reference

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

Classes

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

Public Member Functions

 ArgumentList (String executable, StringArray arguments)
 Creates an argument list for a given executable. More...
 
 ArgumentList (int argc, char *argv[])
 Parses a standard argv/argc pair to create an argument list. More...
 
 ArgumentList (const String &executable, const String &arguments)
 Tokenises a string containing all the arguments to create an argument list. More...
 
 ArgumentList (const ArgumentList &)=default
 
ArgumentListoperator= (const ArgumentList &)=default
 
int size () const
 Returns the number of arguments in the list. More...
 
Argument operator[] (int index) const
 Returns one of the arguments. 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...
 
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...
 
void failIfOptionIsMissing (StringRef option) const
 Throws an error unless the given option is found in the argument list. More...
 
Argument getArgumentAfterOption (StringRef option) const
 Looks for the given argument and returns the one that follows it in the list. More...
 
File getFileAfterOption (StringRef option) const
 Looks for a given argument and tries to parse the following argument as a file. More...
 
File getExistingFileAfterOption (StringRef option) const
 Looks for a given argument and tries to parse the following argument as a file which must exist for this to succeed. More...
 
File getExistingFolderAfterOption (StringRef option) const
 Looks for a given argument and tries to parse the following argument as a folder which must exist for this to succeed. More...
 

Public Attributes

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

Constructor & Destructor Documentation

◆ ArgumentList() [1/4]

ArgumentList::ArgumentList ( String  executable,
StringArray  arguments 
)

Creates an argument list for a given executable.

◆ ArgumentList() [2/4]

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

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

◆ ArgumentList() [3/4]

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

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

◆ ArgumentList() [4/4]

ArgumentList::ArgumentList ( const ArgumentList )
default

Member Function Documentation

◆ operator=()

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

◆ size()

int ArgumentList::size ( ) const

Returns the number of arguments in the list.

◆ operator[]()

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

Returns one of the arguments.

◆ checkMinNumArguments()

void ArgumentList::checkMinNumArguments ( int  expectedMinNumberOfArgs) const

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

◆ containsOption()

bool 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"

◆ indexOfOption()

int 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"

◆ failIfOptionIsMissing()

void ArgumentList::failIfOptionIsMissing ( StringRef  option) const

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

◆ getArgumentAfterOption()

Argument ArgumentList::getArgumentAfterOption ( StringRef  option) const

Looks for the given argument and returns the one that follows it in the list.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h" If the argument isn't found, this returns an empty string.

◆ getFileAfterOption()

File ArgumentList::getFileAfterOption ( StringRef  option) const

Looks for a given argument and tries to parse the following argument as a file.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h" If the option isn't found, or if the next argument isn't a filename, it will throw an error.

◆ getExistingFileAfterOption()

File ArgumentList::getExistingFileAfterOption ( StringRef  option) const

Looks for a given argument and tries to parse the following argument as a file which must exist for this to succeed.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h" If the option isn't found, or if the next argument isn't a filename, or if the file doesn't exist, or if it's a folder rather than a file, then it will throw a suitable error.

◆ getExistingFolderAfterOption()

File ArgumentList::getExistingFolderAfterOption ( StringRef  option) const

Looks for a given argument and tries to parse the following argument as a folder which must exist for this to succeed.

The option can also be a list of different versions separated by pipes, e.g. "--help|-h" If the option isn't found, or if the next argument isn't a filename, or if it doesn't point to a folder, then it will throw a suitable error.

Member Data Documentation

◆ executableName

String ArgumentList::executableName

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

◆ arguments

Array<Argument> ArgumentList::arguments

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


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