Stellarator-Tools
commandline_parser Module Reference

Defines the base class of the type commandline_parser_class. More...

Functions/Subroutines

class(commandline_parser_class) function, pointer commandline_parser_construct ()
 Construct a commandline_parser_class object. More...
 
subroutine commandline_parser_destruct (this)
 Deconstruct a commandline_parser_class object. More...
 
character(len=path_length) function commandline_parser_get_string (this, arg)
 Get the value of an argument as a string. More...
 
integer function commandline_parser_get_integer (this, arg, default_value)
 Get the value of an argument as an integer. More...
 
real(rprec) function commandline_parser_get_real (this, arg, default_value)
 Get the value of an argument as a Real. More...
 
logical function commandline_parser_is_flag_set (this, arg)
 Check if a command line argument was set. More...
 
subroutine commandline_parser_print_help
 Print out help text. More...
 

Detailed Description

Defines the base class of the type commandline_parser_class.

Function/Subroutine Documentation

◆ commandline_parser_construct()

class (commandline_parser_class) function, pointer commandline_parser::commandline_parser_construct

Construct a commandline_parser_class object.

Allocates memory and initializes a commandline_parser_class object. The command line is parsed assuming the the flags take the form of -flag=value. If the '=' is missing, it is assumed there is no value. If the '-' is missing the flag is treated as the value to an implicit -file flag. If -h is is found, the help text is printed out and the program terminated.

Returns
A pointer to a constructed commandline_parser_class object.

◆ commandline_parser_destruct()

subroutine commandline_parser::commandline_parser_destruct ( type (commandline_parser_class), intent(inout)  this)

Deconstruct a commandline_parser_class object.

Deallocates memory and uninitializes a commandline_parser_class object.

Parameters
[in,out]thisA commandline_parser_class instance.

◆ commandline_parser_get_integer()

integer function commandline_parser::commandline_parser_get_integer ( class (commandline_parser_class), intent(in)  this,
character (len=*), intent(in)  arg,
integer, intent(in)  default_value 
)

Get the value of an argument as an integer.

Searches the parsed command line flags for a matching command like argument. If no matching argument is found, no value was set or the value cannot be converted to an integer, the default value is returned. Command line arguments take the form of -flag.

Parameters
[in]thisA commandline_parser_class instance.
[in]argA argument string to search for.
[in]default_valueDefault value in case flag is not set.
Returns
The argument value.

◆ commandline_parser_get_real()

real (rprec) function commandline_parser::commandline_parser_get_real ( class (commandline_parser_class), intent(in)  this,
character (len=*), intent(in)  arg,
real (rprec), intent(in)  default_value 
)

Get the value of an argument as a Real.

Searches the parsed command line flags for a matching command like argument. If no matching argument is found, no value was set or the value cannot be converted to an integer, the default value is returned. Command line arguments take the form of -flag.

Parameters
[in]thisA commandline_parser_class instance.
[in]argA argument string to search for.
[in]default_valueDefault value in case flag is not set.
Returns
The argument value.

◆ commandline_parser_get_string()

character (len=path_length) function commandline_parser::commandline_parser_get_string ( class (commandline_parser_class), intent(in)  this,
character (len=*), intent(in)  arg 
)

Get the value of an argument as a string.

Searches the parsed command line flags for a matching command like argument. If no matching argument is found or no value was set, a blank string is returned. command line arguments take the form of -flag.

Parameters
[in]thisA commandline_parser_class instance.
[in]argA argument string to search for.
Returns
The argument value.

◆ commandline_parser_is_flag_set()

logical function commandline_parser::commandline_parser_is_flag_set ( class (commandline_parser_class), intent(in)  this,
character (len=*), intent(in)  arg 
)

Check if a command line argument was set.

Searches the parsed command line flags for a matching command line argument. If no matching argument is found the flag was not set.

Parameters
[in]thisA commandline_parser_class instance.
[in]argA argument string to search for.
Returns
True if the argument was found, false if it was not found.

◆ commandline_parser_print_help()

subroutine commandline_parser::commandline_parser_print_help

Print out help text.

Command line help text should take the form of '-flag' that is maximum length of max_arg_length followed by a space. A Y or N indicating the flag takes a value or not followed by a space. A short message describing the flag. A reference for all the command line arguments can be found at Command Line Arguments.