V3FIT
Data Types | Functions/Subroutines | Variables
commandline_parser Module Reference

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

Data Types

type  commandline_parser_class
 Base class containing a parsed commandline. More...
 

Functions/Subroutines

type(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...
 

Variables

integer, parameter, private max_arg_length = 8
 Maximum length of the argument including the '-' character.
 
integer, parameter, private max_length = path_length + max_arg_length + 1
 Maximum length of the complete flag. All command line flags take the form of '-flag=value'.
 
integer, parameter commandline_parser_no_error = 0
 Commandline argument not found.
 
integer, parameter commandline_parser_arg_not_found = -1
 Commandline argument not found.
 

Detailed Description

Defines the base class of the type commandline_parser_class.

Function/Subroutine Documentation

◆ commandline_parser_construct()

type (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.

Definition at line 124 of file commandline_parser.f.

◆ commandline_parser_destruct()

subroutine commandline_parser::commandline_parser_destruct ( type (commandline_parser_class), pointer  this)

Deconstruct a commandline_parser_class object.

Deallocates memory and uninitializes a commandline_parser_class object.

Parameters
[in,out]thisA commandline_parser_class instance.

Definition at line 202 of file commandline_parser.f.

◆ commandline_parser_get_integer()

integer function commandline_parser::commandline_parser_get_integer ( type (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.

Definition at line 289 of file commandline_parser.f.

◆ commandline_parser_get_real()

real (rprec) function commandline_parser::commandline_parser_get_real ( type (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.

Definition at line 344 of file commandline_parser.f.

◆ commandline_parser_get_string()

character (len=path_length) function commandline_parser::commandline_parser_get_string ( type (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.

Definition at line 238 of file commandline_parser.f.

◆ commandline_parser_is_flag_set()

logical function commandline_parser::commandline_parser_is_flag_set ( type (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.

Definition at line 397 of file commandline_parser.f.

◆ 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.

Definition at line 446 of file commandline_parser.f.