BraWl
|
Functions to parse command line arguments. More...
Go to the source code of this file.
Data Types | |
type | command_line::cmd_arg |
type containing a key-value pair More... | |
type | command_line::str_wrapper |
wrapper to allow array of allocatable strings More... | |
interface | command_line::get_arg |
read arguments by name or number More... | |
Modules | |
module | command_line |
Functions/Subroutines | |
subroutine | command_line::parse_args () |
Parse out command line args. | |
subroutine | command_line::initial_parse |
helper function - do a parse if it hasn't been done yet | |
integer function, public | command_line::arg_count () |
get the number of arguments note: total count may not match command_argument_count due to parsing key=value syntax! | |
logical function | command_line::get_arg_num_logical (num, val, exists) |
read by number for logical values | |
logical function | command_line::get_arg_name_logical (name, val, exists) |
Read by name for logical values. | |
logical function | command_line::get_arg_num_dbl (num, val, exists) |
read by number for double precision values | |
logical function | command_line::get_arg_name_dbl (name, val, exists) |
read by name for double precision values | |
logical function | command_line::get_arg_num_float (num, val, exists) |
Read by number for single precision (float) values. | |
logical function | command_line::get_arg_name_float (name, val, exists) |
read by name for single precision (float) values | |
logical function | command_line::get_arg_num_int (num, val, exists) |
read by number for integer values | |
logical function | command_line::get_arg_name_int (name, val, exists) |
read by name for integer values | |
logical function | command_line::get_arg_num_long (num, val, exists) |
read by number for long integer values | |
logical function | command_line::get_arg_name_long (name, val, exists) |
read by name for long integer values | |
logical function | command_line::get_arg_num_str (num, val, exists) |
read by number for string/character values | |
logical function | command_line::get_arg_name_str (name, val, exists) |
read by name for string values | |
logical function, public | command_line::arg_present (name, has_value) |
check presence of an argument by name | |
type(str_wrapper) function, dimension(:), allocatable, public | command_line::dump_names () |
get all the argument names (by copy) order will probably match input order, but this is not guaranteed | |
character(len=:) function, allocatable, public | command_line::get_arg_value (name, exists) |
lookup an argument by name and return the value as an (allocatable) string if the name is not present, an empty string is returned | |
Variables | |
logical | command_line::initial_parse_done = .false. |
type(cmd_arg), dimension(:), allocatable, private | command_line::all_args |
the argument list | |
integer, private | command_line::num_args = 0 |
the number of arguments | |
integer, parameter | command_line::max_string_len = 200 |
Functions to parse command line arguments.
Module to read command line arguments to a program. We assume they are of the form name=value (spaces around '=' are ignored) or are a flag.
Note: 'val=""' differs from 'val' - the latter is a flag, the former an empty string. Value can be extracted as a string, integer, a long-integer or a single or double-precision real, according to the type passed in. Argument names are limited to 20 chars, and values to 30 chars as read.
Note: The only functions you should call from outside are:
Note: Flags can also be read by name as a logical: TRUE if present, FALSE if not.
Note: Total count may not match command_argument_count due to parsing spaces out of key( )=()value syntax!
Definition in file command_line.f90.