M_CLI2: m_cli2 Module Reference

M_CLI2 M_CLI2 module (Fortran)

Data Types | Functions/Subroutines | Variables
m_cli2 Module Reference

## Data Types
interface | cgets
interface | dgets
interface | get_args
interface | get_args_fixed_length
interface | get_args_fixed_size
interface | igets
interface | insert_
interface | lgets
interface | locate_
type | option
interface | remove_
interface | replace_
interface | rgets
interface | sgets
interface | str

## Functions/Subroutines
subroutine, private | check_commandline (help_text, version_text)
subroutine, public | set_args (prototype, help_text, version_text, string, prefix, ierr, errmsg)
character(len=:) function, allocatable, public | get_subcommand ()
subroutine | set_usage (keyword, description, value)
recursive subroutine, private | prototype_to_dictionary (string)
elemental impure logical function, public | specified (key)
subroutine, private | update (key, val)
subroutine, private | wipe_dictionary ()
character(len=:) function, allocatable, private | get (key)
subroutine, private | prototype_and_cmd_args_to_nlist (prototype, string)
subroutine | expand_response (name)
subroutine | get_prototype (name, prototype)
integer function | fileopen (filename, message)
character(len=:) function, allocatable | get_env (name, default)
character(len=:) function, allocatable | join_path (a1, a2, a3, a4, a5)
character(len=:) function, allocatable | get_name ()
character(:) function, allocatable | basename (path, suffix)
character(len=1) function | separator ()
subroutine | cmd_args_to_dictionary ()
subroutine, public | print_dictionary (header, stop)
logical function | strtok (source_string, itoken, token_start, token_end, delimiters)
subroutine | get_fixedarray_class (keyword, generic, delimiters)
subroutine | get_anyarray_l (keyword, larray, delimiters)
subroutine | get_anyarray_d (keyword, darray, delimiters)
subroutine | get_anyarray_i (keyword, iarray, delimiters)
subroutine | get_anyarray_r (keyword, rarray, delimiters)
subroutine | get_anyarray_x (keyword, xarray, delimiters)
subroutine | get_anyarray_c (keyword, strings, delimiters)
subroutine | get_args_fixed_length_a_array (keyword, strings, delimiters)
subroutine | get_fixedarray_i (keyword, iarray, delimiters)
subroutine | get_fixedarray_r (keyword, rarray, delimiters)
subroutine | get_fixed_size_complex (keyword, xarray, delimiters)
subroutine | get_fixedarray_d (keyword, darr, delimiters)
subroutine | get_fixedarray_l (keyword, larray, delimiters)
subroutine | get_fixedarray_fixed_length_c (keyword, strings, delimiters)
subroutine | get_scalar_d (keyword, d)
subroutine | get_scalar_real (keyword, r)
subroutine | get_scalar_i (keyword, i)
subroutine | get_scalar_anylength_c (keyword, string)
elemental impure subroutine | get_args_fixed_length_scalar_c (keyword, string)
subroutine | get_scalar_complex (keyword, x)
subroutine | get_scalar_logical (keyword, l)
integer function | longest_command_argument ()
subroutine | journal (where, g0, g1, g2, g3, g4, g5, g6, g7, g8, g9, ga, gb, gc, gd, ge, gf, gg, gh, gi, gj, sep)
character(len=:) function, allocatable | msg_scalar (generic0, generic1, generic2, generic3, generic4, generic5, generic6, generic7, generic8, generic9, generica, genericb, genericc, genericd, generice, genericf, genericg, generich, generici, genericj, sep)
character(len=:) function, allocatable | msg_one (generic0, generic1, generic2, generic3, generic4, generic5, generic6, generic7, generic8, generic9, sep)
character(:) function, allocatable | upper (str)
character(:) function, allocatable | lower (str)
subroutine | a2i (chars, valu, ierr)
subroutine | a2d (chars, valu, ierr, onerr)
subroutine | split (input_line, array, delimiters, order, nulls)
subroutine | crack_cmd (cmd, old, new, ierr)
character(len=:) function, allocatable | replace_str (targetline, old, new, ierr, cmd, range)
character(len=:) function, allocatable | quote (str, mode, clip)
pure character(len=:) function, allocatable | unquote (quoted_str, esc)
logical function | decodebase (string, basein, out_baseten)
character(len=length) function | lenset (line, length)
subroutine, private | locate_c (list, value, place, ier, errmsg)
subroutine, private | remove_c (list, place)
subroutine, private | remove_l (list, place)
subroutine, private | remove_i (list, place)
subroutine, private | replace_c (list, value, place)
subroutine, private | replace_l (list, value, place)
subroutine, private | replace_i (list, value, place)
subroutine, private | insert_c (list, value, place)
subroutine, private | insert_l (list, value, place)
subroutine, private | insert_i (list, value, place)
subroutine | many_args (n0, g0, n1, g1, n2, g2, n3, g3, n4, g4, n5, g5, n6, g6, n7, g7, n8, g8, n9, g9, na, ga, nb, gb, nc, gc, nd, gd, ne, ge, nf, gf, ng, gg, nh, gh, ni, gi, nj, gj)
integer function, public | iget (n)
real function, public | rget (n)
real(kind=dp) function, public | dget (n)
character(len=:) function, allocatable, public | sget (n)
complex function, public | cget (n)
logical function, public | lget (n)
integer function, dimension(:), allocatable | igs (n)
real function, dimension(:), allocatable | rgs (n)
real(kind=dp) function, dimension(:), allocatable | dgs (n)
character(len=:) function, dimension(:), allocatable | sgs (n, delims)
complex function, dimension(:), allocatable | cgs (n)
logical function, dimension(:), allocatable | lgs (n)
integer function, dimension(:), allocatable | ig ()
real function, dimension(:), allocatable | rg ()
real(kind=dp) function, dimension(:), allocatable | dg ()
logical function, dimension(:), allocatable | lg ()
complex function, dimension(:), allocatable | cg ()
character(len=:) function, dimension(:), allocatable | sg ()
subroutine | mystop (sig, msg)
function | atleast (line, length, pattern)
subroutine | locate_key (value, place)
elemental impure subroutine, public | set_mode (key, mode)

## Variables
integer, parameter, private | dp =kind(0.0d0)
integer, parameter, private | sp =kind(0.0)
character(len= *), parameter | gen ='(*(g0))'
character(len=:), dimension(:), allocatable, public | unnamed
character(len=:), dimension(:), allocatable, public | args
character(len=:), allocatable, public | remaining
character(len=:), dimension(:), allocatable, save | keywords
character(len=:), dimension(:), allocatable, save | shorts
character(len=:), dimension(:), allocatable, save | values
integer, dimension(:), allocatable, save | counts
logical, dimension(:), allocatable, save | present_in
logical, dimension(:), allocatable, save | mandatory
logical, save | g_debug =.false.
logical, save | g_underdash =.false.
logical, save | g_ignorecase =.false.
logical, save | g_strict =.false.
logical, save | g_keyword_single_letter =.true.
character(len=:), allocatable, save | g_passed_in
logical, save | g_remaining_on
logical, save | g_remaining_option_allowed
character(len=:), allocatable, save | g_remaining
character(len=:), allocatable, save | g_subcommand
character(len=:), allocatable, save | g_stop_message
integer, save | g_stop
logical, save | g_quiet
character(len=:), allocatable, save | g_prefix
logical, save, public | cli_response_file =.false.
logical, save | g_append
logical, save | g_options_only
logical, save | g_response
character(len=:), allocatable, save | g_response_ignored

## Function/Subroutine Documentation

## ◆ a2d()

subroutine m_cli2::a2d | ( | character(len=*), intent(in) | chars,
|  | doubleprecision, intent(out) | valu,
|  | integer, intent(out) | ierr,
|  | class(*), intent(in), optional | onerr
| ) |  |
| private

References decodebase(), journal(), replace_str(), and unquote().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ a2i()

subroutine m_cli2::a2i | ( | character(len=*), intent(in) | chars,
|  | integer, intent(out) | valu,
|  | integer, intent(out) | ierr
| ) |  |
| private

References a2d(), and journal().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ atleast()

function m_cli2::atleast | ( | character(len=*), intent(in) | line,
|  | integer, intent(in) | length,
|  | character(len=*), intent(in), optional | pattern
| ) |  |
| private

Here is the caller graph for this function:

## ◆ basename()

character(:) function, allocatable m_cli2::basename | ( | character(*), intent(in) | path,
|  | logical, intent(in), optional | suffix
| ) |  |
| private

References split().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ cg()

complex function, dimension(:), allocatable m_cli2::cg
| private

References a2d(), sp, and unnamed.

Here is the call graph for this function:

## ◆ cget()

complex function, public m_cli2::cget | ( | character(len=*), intent(in) | n | ) |

## ◆ cgs()

complex function, dimension(:), allocatable m_cli2::cgs | ( | character(len=*), intent(in) | n | ) |
| private

## ◆ check_commandline()

subroutine, private m_cli2::check_commandline | ( | character(len=*), dimension(:), intent(in), optional | help_text,
|  | character(len=*), dimension(:), intent(in), optional | version_text
| ) |  |
| private

References default_help(), g_quiet, g_stop_message, get(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ cmd_args_to_dictionary()

subroutine m_cli2::cmd_args_to_dictionary
| private

References args, expand_response(), g_debug, g_keyword_single_letter, g_quiet, g_remaining, g_remaining_on, g_remaining_option_allowed, g_response, g_strict, gen, get(), get_next_argument(), ifnull(), keywords, locate_key(), mandatory, mystop(), print_dictionary(), quote(), unnamed, update(), and upper().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ crack_cmd()

subroutine m_cli2::crack_cmd | ( | character(len=*), intent(in) | cmd,
|  | character(len=:), intent(out), allocatable | old,
|  | character(len=:), intent(out), allocatable | new,
|  | integer | ierr
| ) |  |
| private

References journal(), and strtok().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ decodebase()

logical function m_cli2::decodebase | ( | character(len=*), intent(in) | string,
|  | integer, intent(in) | basein,
|  | integer, intent(out) | out_baseten
| ) |  |
| private

References a2i(), and upper().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ dg()

real(kind=dp) function, dimension(:), allocatable m_cli2::dg
| private

References a2d(), and unnamed.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ dget()

real(kind=dp) function, public m_cli2::dget | ( | character(len=*), intent(in) | n | ) |

## ◆ dgs()

real(kind=dp) function, dimension(:), allocatable m_cli2::dgs | ( | character(len=*), intent(in) | n | ) |
| private

## ◆ expand_response()

subroutine m_cli2::expand_response | ( | character(len=*), intent(in) | name | ) |
| private

References g_append, g_debug, gen, get_prototype(), and prototype_to_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ fileopen()

integer function m_cli2::fileopen | ( | character(len=*), intent(in) | filename,
|  | character(len=*), intent(out), optional | message
| ) |  |
| private

References g_debug, and gen.

Here is the caller graph for this function:

## ◆ get()

character(len=:) function, allocatable, private m_cli2::get | ( | character(len=*), intent(in) | key | ) |
| private

References counts, locate_key(), and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_anyarray_c()

subroutine m_cli2::get_anyarray_c | ( | character(len=*), intent(in) | keyword,
|  | character(len=:), dimension(:), allocatable | strings,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), split(), unquote(), and values.

Here is the call graph for this function:

## ◆ get_anyarray_d()

subroutine m_cli2::get_anyarray_d | ( | character(len=*), intent(in) | keyword,
|  | real(kind=dp), dimension(:), intent(out), allocatable | darray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References a2d(), counts, journal(), locate_key(), mystop(), replace_str(), split(), and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_anyarray_i()

subroutine m_cli2::get_anyarray_i | ( | character(len=*), intent(in) | keyword,
|  | integer, dimension(:), allocatable | iarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_d().

Here is the call graph for this function:

## ◆ get_anyarray_l()

subroutine m_cli2::get_anyarray_l | ( | character(len=*), intent(in) | keyword,
|  | logical, dimension(:), allocatable | larray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), split(), upper(), and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_anyarray_r()

subroutine m_cli2::get_anyarray_r | ( | character(len=*), intent(in) | keyword,
|  | real, dimension(:), allocatable | rarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_d().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_anyarray_x()

subroutine m_cli2::get_anyarray_x | ( | character(len=*), intent(in) | keyword,
|  | complex(kind=sp), dimension(:), allocatable | xarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_d(), journal(), mystop(), and sp.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_args_fixed_length_a_array()

subroutine m_cli2::get_args_fixed_length_a_array | ( | character(len=*), intent(in) | keyword,
|  | character(len=*), dimension(:), allocatable | strings,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), split(), unquote(), and values.

Here is the call graph for this function:

## ◆ get_args_fixed_length_scalar_c()

elemental impure subroutine m_cli2::get_args_fixed_length_scalar_c | ( | character(len=*), intent(in) | keyword,
|  | character(len=*), intent(out) | string
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), unquote(), and values.

Here is the call graph for this function:

## ◆ get_env()

character(len=:) function, allocatable m_cli2::get_env | ( | character(len=*), intent(in) | name,
|  | character(len=*), intent(in), optional | default
| ) |  |
| private

Here is the caller graph for this function:

## ◆ get_fixed_size_complex()

subroutine m_cli2::get_fixed_size_complex | ( | character(len=*), intent(in) | keyword,
|  | complex, dimension(:) | xarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_x(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_fixedarray_class()

subroutine m_cli2::get_fixedarray_class | ( | character(len=*), intent(in) | keyword,
|  | class(*), dimension(:) | generic,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References dp, get_fixed_size_complex(), get_fixedarray_d(), get_fixedarray_fixed_length_c(), get_fixedarray_i(), get_fixedarray_l(), get_fixedarray_r(), and mystop().

Here is the call graph for this function:

## ◆ get_fixedarray_d()

subroutine m_cli2::get_fixedarray_d | ( | character(len=*), intent(in) | keyword,
|  | real(kind=dp), dimension(:) | darr,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_d(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_fixedarray_fixed_length_c()

subroutine m_cli2::get_fixedarray_fixed_length_c | ( | character(len=*), intent(in) | keyword,
|  | character(len=*), dimension(:) | strings,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), print_dictionary(), split(), unquote(), and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_fixedarray_i()

subroutine m_cli2::get_fixedarray_i | ( | character(len=*), intent(in) | keyword,
|  | integer, dimension(:) | iarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_d(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_fixedarray_l()

subroutine m_cli2::get_fixedarray_l | ( | character(len=*), intent(in) | keyword,
|  | logical, dimension(:) | larray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_l(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_fixedarray_r()

subroutine m_cli2::get_fixedarray_r | ( | character(len=*), intent(in) | keyword,
|  | real, dimension(:) | rarray,
|  | character(len=*), intent(in), optional | delimiters
| ) |  |
| private

References get_anyarray_r(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_name()

character(len=:) function, allocatable m_cli2::get_name
| private

Here is the caller graph for this function:

## ◆ get_prototype()

subroutine m_cli2::get_prototype | ( | character(len=*), intent(in) | name,
|  | character(len=:), intent(out), allocatable | prototype
| ) |  |
| private

References basename(), find_and_read_response_file(), g_debug, gen, get_env(), and get_name().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_scalar_anylength_c()

subroutine m_cli2::get_scalar_anylength_c | ( | character(len=*), intent(in) | keyword,
|  | character(len=:), intent(out), allocatable | string
| ) |  |
| private

References counts, journal(), locate_key(), mystop(), unquote(), and values.

Here is the call graph for this function:

## ◆ get_scalar_complex()

subroutine m_cli2::get_scalar_complex | ( | character(len=*), intent(in) | keyword,
|  | complex, intent(out) | x
| ) |  |
| private

References get_fixedarray_d(), and sp.

Here is the call graph for this function:

## ◆ get_scalar_d()

subroutine m_cli2::get_scalar_d | ( | character(len=*), intent(in) | keyword,
|  | real(kind=dp) | d
| ) |  |
| private

References get_anyarray_d(), journal(), mystop(), and print_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ get_scalar_i()

subroutine m_cli2::get_scalar_i | ( | character(len=*), intent(in) | keyword,
|  | integer, intent(out) | i
| ) |  |
| private

References get_scalar_d().

Here is the call graph for this function:

## ◆ get_scalar_logical()

subroutine m_cli2::get_scalar_logical | ( | character(len=*), intent(in) | keyword,
|  | logical | l
| ) |  |
| private

References get_anyarray_l(), journal(), and mystop().

Here is the call graph for this function:

## ◆ get_scalar_real()

subroutine m_cli2::get_scalar_real | ( | character(len=*), intent(in) | keyword,
|  | real, intent(out) | r
| ) |  |
| private

References get_scalar_d().

Here is the call graph for this function:

## ◆ get_subcommand()

character(len=:) function, allocatable, public m_cli2::get_subcommand

References g_options_only, g_subcommand, get_prototype(), longest_command_argument(), split(), and unnamed.

Here is the call graph for this function:

## ◆ ig()

integer function, dimension(:), allocatable m_cli2::ig
| private

References a2i(), and unnamed.

Here is the call graph for this function:

## ◆ iget()

integer function, public m_cli2::iget | ( | character(len=*), intent(in) | n | ) |

## ◆ igs()

integer function, dimension(:), allocatable m_cli2::igs | ( | character(len=*), intent(in) | n | ) |
| private

## ◆ insert_c()

subroutine, private m_cli2::insert_c | ( | character(len=:), dimension(:), allocatable | list,
|  | character(len=*), intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ insert_i()

subroutine, private m_cli2::insert_i | ( | integer, dimension(:), allocatable | list,
|  | integer, intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ insert_l()

subroutine, private m_cli2::insert_l | ( | logical, dimension(:), allocatable | list,
|  | logical, intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ join_path()

character(len=:) function, allocatable m_cli2::join_path | ( | character(len=*), intent(in) | a1,
|  | character(len=*), intent(in) | a2,
|  | character(len=*), intent(in), optional | a3,
|  | character(len=*), intent(in), optional | a4,
|  | character(len=*), intent(in), optional | a5
| ) |  |
| private

References replace_str(), and separator().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ journal()

subroutine m_cli2::journal | ( | character(len=*), intent(in) | where,
|  | class(*), intent(in) | g0,
|  | class(*), intent(in), optional | g1,
|  | class(*), intent(in), optional | g2,
|  | class(*), intent(in), optional | g3,
|  | class(*), intent(in), optional | g4,
|  | class(*), intent(in), optional | g5,
|  | class(*), intent(in), optional | g6,
|  | class(*), intent(in), optional | g7,
|  | class(*), intent(in), optional | g8,
|  | class(*), intent(in), optional | g9,
|  | class(*), intent(in), optional | ga,
|  | class(*), intent(in), optional | gb,
|  | class(*), intent(in), optional | gc,
|  | class(*), intent(in), optional | gd,
|  | class(*), intent(in), optional | ge,
|  | class(*), intent(in), optional | gf,
|  | class(*), intent(in), optional | gg,
|  | class(*), intent(in), optional | gh,
|  | class(*), intent(in), optional | gi,
|  | class(*), intent(in), optional | gj,
|  | character(len=*), intent(in), optional | sep
| ) |  |
| private

Here is the caller graph for this function:

## ◆ lenset()

character(len=length) function m_cli2::lenset | ( | character(len=*), intent(in) | line,
|  | integer, intent(in) | length
| ) |  |
| private

## ◆ lg()

logical function, dimension(:), allocatable m_cli2::lg
| private

References journal(), unnamed, and upper().

Here is the call graph for this function:

## ◆ lget()

logical function, public m_cli2::lget | ( | character(len=*), intent(in) | n | ) |

## ◆ lgs()

logical function, dimension(:), allocatable m_cli2::lgs | ( | character(len=*), intent(in) | n | ) |
| private

## ◆ locate_c()

subroutine, private m_cli2::locate_c | ( | character(len=:), dimension(:), allocatable | list,
|  | character(len=*), intent(in) | value,
|  | integer, intent(out) | place,
|  | integer, intent(out), optional | ier,
|  | character(len=*), intent(out), optional | errmsg
| ) |  |
| private

References mystop().

Here is the call graph for this function:

## ◆ locate_key()

subroutine m_cli2::locate_key | ( | character(len=*), intent(in) | value,
|  | integer, intent(out) | place
| ) |  |
| private

References g_ignorecase, g_underdash, keywords, lower(), replace_str(), and shorts.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ longest_command_argument()

integer function m_cli2::longest_command_argument
| private

Here is the caller graph for this function:

## ◆ lower()

character(:) function, allocatable m_cli2::lower | ( | character(*), intent(in) | str | ) |
| private

Here is the caller graph for this function:

## ◆ many_args()

subroutine m_cli2::many_args | ( | character(len=*), intent(in) | n0,
|  | class(*), intent(out) | g0,
|  | character(len=*), intent(in) | n1,
|  | class(*), intent(out) | g1,
|  | character(len=*), intent(in), optional | n2,
|  | class(*), intent(out), optional | g2,
|  | character(len=*), intent(in), optional | n3,
|  | class(*), intent(out), optional | g3,
|  | character(len=*), intent(in), optional | n4,
|  | class(*), intent(out), optional | g4,
|  | character(len=*), intent(in), optional | n5,
|  | class(*), intent(out), optional | g5,
|  | character(len=*), intent(in), optional | n6,
|  | class(*), intent(out), optional | g6,
|  | character(len=*), intent(in), optional | n7,
|  | class(*), intent(out), optional | g7,
|  | character(len=*), intent(in), optional | n8,
|  | class(*), intent(out), optional | g8,
|  | character(len=*), intent(in), optional | n9,
|  | class(*), intent(out), optional | g9,
|  | character(len=*), intent(in), optional | na,
|  | class(*), intent(out), optional | ga,
|  | character(len=*), intent(in), optional | nb,
|  | class(*), intent(out), optional | gb,
|  | character(len=*), intent(in), optional | nc,
|  | class(*), intent(out), optional | gc,
|  | character(len=*), intent(in), optional | nd,
|  | class(*), intent(out), optional | gd,
|  | character(len=*), intent(in), optional | ne,
|  | class(*), intent(out), optional | ge,
|  | character(len=*), intent(in), optional | nf,
|  | class(*), intent(out), optional | gf,
|  | character(len=*), intent(in), optional | ng,
|  | class(*), intent(out), optional | gg,
|  | character(len=*), intent(in), optional | nh,
|  | class(*), intent(out), optional | gh,
|  | character(len=*), intent(in), optional | ni,
|  | class(*), intent(out), optional | gi,
|  | character(len=*), intent(in), optional | nj,
|  | class(*), intent(out), optional | gj
| ) |  |
| private

References get_generic().

Here is the call graph for this function:

## ◆ msg_one()

character(len=:) function, allocatable m_cli2::msg_one | ( | class(*), dimension(:), intent(in) | generic0,
|  | class(*), dimension(:), intent(in), optional | generic1,
|  | class(*), dimension(:), intent(in), optional | generic2,
|  | class(*), dimension(:), intent(in), optional | generic3,
|  | class(*), dimension(:), intent(in), optional | generic4,
|  | class(*), dimension(:), intent(in), optional | generic5,
|  | class(*), dimension(:), intent(in), optional | generic6,
|  | class(*), dimension(:), intent(in), optional | generic7,
|  | class(*), dimension(:), intent(in), optional | generic8,
|  | class(*), dimension(:), intent(in), optional | generic9,
|  | character(len=*), intent(in), optional | sep
| ) |  |
| private

References print_generic().

Here is the call graph for this function:

## ◆ msg_scalar()

character(len=:) function, allocatable m_cli2::msg_scalar | ( | class(*), intent(in), optional | generic0,
|  | class(*), intent(in), optional | generic1,
|  | class(*), intent(in), optional | generic2,
|  | class(*), intent(in), optional | generic3,
|  | class(*), intent(in), optional | generic4,
|  | class(*), intent(in), optional | generic5,
|  | class(*), intent(in), optional | generic6,
|  | class(*), intent(in), optional | generic7,
|  | class(*), intent(in), optional | generic8,
|  | class(*), intent(in), optional | generic9,
|  | class(*), intent(in), optional | generica,
|  | class(*), intent(in), optional | genericb,
|  | class(*), intent(in), optional | genericc,
|  | class(*), intent(in), optional | genericd,
|  | class(*), intent(in), optional | generice,
|  | class(*), intent(in), optional | genericf,
|  | class(*), intent(in), optional | genericg,
|  | class(*), intent(in), optional | generich,
|  | class(*), intent(in), optional | generici,
|  | class(*), intent(in), optional | genericj,
|  | character(len=*), intent(in), optional | sep
| ) |  |
| private

References print_generic().

Here is the call graph for this function:

## ◆ mystop()

subroutine m_cli2::mystop | ( | integer, intent(in) | sig,
|  | character(len=*), intent(in), optional | msg
| ) |  |
| private

References g_quiet, g_stop, g_stop_message, and journal().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ print_dictionary()

subroutine, public m_cli2::print_dictionary | ( | character(len=*), intent(in), optional | header,
|  | logical, intent(in), optional | stop
| ) |  |

References args, atleast(), counts, g_quiet, g_remaining, keywords, mystop(), present_in, shorts, unnamed, and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ prototype_and_cmd_args_to_nlist()

subroutine, private m_cli2::prototype_and_cmd_args_to_nlist | ( | character(len=*), intent(in) | prototype,
|  | character(len=*), intent(in), optional | string
| ) |  |
| private

References args, cmd_args_to_dictionary(), g_debug, g_passed_in, g_remaining, g_remaining_on, g_remaining_option_allowed, gen, locate_key(), longest_command_argument(), present_in, prototype_to_dictionary(), remaining, unnamed, and update().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ prototype_to_dictionary()

recursive subroutine, private m_cli2::prototype_to_dictionary | ( | character(len=*), intent(in) | string | ) |
| private

References g_debug, g_keyword_single_letter, g_remaining_option_allowed, g_response_ignored, gen, locate_key(), and update().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ quote()

character(len=:) function, allocatable m_cli2::quote | ( | character(len=*), intent(in) | str,
|  | character(len=*), intent(in), optional | mode,
|  | logical, intent(in), optional | clip
| ) |  |
| private

References journal(), lower(), and replace_str().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ remove_c()

subroutine, private m_cli2::remove_c | ( | character(len=:), dimension(:), allocatable | list,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ remove_i()

subroutine, private m_cli2::remove_i | ( | integer, dimension(:), allocatable | list,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ remove_l()

subroutine, private m_cli2::remove_l | ( | logical, dimension(:), allocatable | list,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ replace_c()

subroutine, private m_cli2::replace_c | ( | character(len=:), dimension(:), allocatable | list,
|  | character(len=*), intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ replace_i()

subroutine, private m_cli2::replace_i | ( | integer, dimension(:), allocatable | list,
|  | integer, intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ replace_l()

subroutine, private m_cli2::replace_l | ( | logical, dimension(:), allocatable | list,
|  | logical, intent(in) | value,
|  | integer, intent(in) | place
| ) |  |
| private

## ◆ replace_str()

character(len=:) function, allocatable m_cli2::replace_str | ( | character(len=*), intent(in) | targetline,
|  | character(len=*), intent(in), optional | old,
|  | character(len=*), intent(in), optional | new,
|  | integer, intent(out), optional | ierr,
|  | character(len=*), intent(in), optional | cmd,
|  | integer, dimension(2), intent(in), optional | range
| ) |  |
| private

References crack_cmd(), and journal().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ rg()

real function, dimension(:), allocatable m_cli2::rg
| private

References dg().

Here is the call graph for this function:

## ◆ rget()

real function, public m_cli2::rget | ( | character(len=*), intent(in) | n | ) |

## ◆ rgs()

real function, dimension(:), allocatable m_cli2::rgs | ( | character(len=*), intent(in) | n | ) |
| private

## ◆ separator()

character(len=1) function m_cli2::separator
| private

References get_env().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ set_args()

subroutine, public m_cli2::set_args | ( | character(len=*), intent(in) | prototype,
|  | character(len=*), dimension(:), intent(in), optional | help_text,
|  | character(len=*), dimension(:), intent(in), optional | version_text,
|  | character(len=*), intent(in), optional | string,
|  | character(len=*), intent(in), optional | prefix,
|  | integer, intent(out), optional | ierr,
|  | character(len=:), intent(out), optional, allocatable | errmsg
| ) |  |

References args, check_commandline(), cli_response_file, g_append, g_debug, g_options_only, g_passed_in, g_prefix, g_quiet, g_response, g_response_ignored, g_stop, g_stop_message, gen, get_env(), longest_command_argument(), prototype_and_cmd_args_to_nlist(), split(), unnamed, upper(), and wipe_dictionary().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ set_mode()

elemental impure subroutine, public m_cli2::set_mode | ( | character(len=*), intent(in) | key,
|  | logical, intent(in), optional | mode
| ) |  |

References cli_response_file, g_debug, g_ignorecase, g_strict, g_underdash, journal(), and lower().

Here is the call graph for this function:

## ◆ set_usage()

subroutine m_cli2::set_usage | ( | character(len=*), intent(in) | keyword,
|  | character(len=*), intent(in) | description,
|  | character(len=*), intent(in) | value
| ) |  |
| private

## ◆ sg()

character(len=:) function, dimension(:), allocatable m_cli2::sg
| private

References unnamed.

## ◆ sget()

character(len=:) function, allocatable, public m_cli2::sget | ( | character(len=*), intent(in) | n | ) |

## ◆ sgs()

character(len=:) function, dimension(:), allocatable m_cli2::sgs | ( | character(len=*), intent(in) | n,
|  | character(len=*), intent(in), optional | delims
| ) |  |
| private

## ◆ specified()

elemental impure logical function, public m_cli2::specified | ( | character(len=*), intent(in) | key | ) |

References locate_key(), and present_in.

Here is the call graph for this function:

## ◆ split()

subroutine m_cli2::split | ( | character(len=*), intent(in) | input_line,
|  | character(len=:), dimension(:), intent(out), allocatable | array,
|  | character(len=*), intent(in), optional | delimiters,
|  | character(len=*), intent(in), optional | order,
|  | character(len=*), intent(in), optional | nulls
| ) |  |
| private

References lower().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ strtok()

logical function m_cli2::strtok | ( | character(len=*), intent(in) | source_string,
|  | integer, intent(inout) | itoken,
|  | integer, intent(out) | token_start,
|  | integer, intent(inout) | token_end,
|  | character(len=*), intent(in) | delimiters
| ) |  |
| private

Here is the caller graph for this function:

## ◆ unquote()

pure character(len=:) function, allocatable m_cli2::unquote | ( | character(len=*), intent(in) | quoted_str,
|  | character(len=1), intent(in), optional | esc
| ) |  |
| private

References quote().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ update()

subroutine, private m_cli2::update | ( | character(len=*), intent(in) | key,
|  | character(len=*), intent(in), optional | val
| ) |  |
| private

References counts, g_append, g_ignorecase, g_underdash, keywords, locate_key(), lower(), mandatory, present_in, replace_str(), shorts, split(), unquote(), and values.

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ upper()

character(:) function, allocatable m_cli2::upper | ( | character(*), intent(in) | str | ) |
| private

Here is the caller graph for this function:

## ◆ wipe_dictionary()

subroutine, private m_cli2::wipe_dictionary
| private

References counts, keywords, mandatory, present_in, shorts, and values.

Here is the caller graph for this function:

## Variable Documentation

## ◆ args

character(len=:), dimension(:), allocatable, public m_cli2::args

## ◆ cli_response_file

logical, save, public m_cli2::cli_response_file =.false.

## ◆ counts

integer, dimension(:), allocatable, save m_cli2::counts
| private

## ◆ dp

integer, parameter, private m_cli2::dp =kind(0.0d0)
| private

## ◆ g_append

logical, save m_cli2::g_append
| private

## ◆ g_debug

logical, save m_cli2::g_debug =.false.
| private

## ◆ g_ignorecase

logical, save m_cli2::g_ignorecase =.false.
| private

## ◆ g_keyword_single_letter

logical, save m_cli2::g_keyword_single_letter =.true.
| private

## ◆ g_options_only

logical, save m_cli2::g_options_only
| private

## ◆ g_passed_in

character(len=:), allocatable, save m_cli2::g_passed_in
| private

## ◆ g_prefix

character(len=:), allocatable, save m_cli2::g_prefix
| private

## ◆ g_quiet

logical, save m_cli2::g_quiet
| private

## ◆ g_remaining

character(len=:), allocatable, save m_cli2::g_remaining
| private

## ◆ g_remaining_on

logical, save m_cli2::g_remaining_on
| private

## ◆ g_remaining_option_allowed

logical, save m_cli2::g_remaining_option_allowed
| private

## ◆ g_response

logical, save m_cli2::g_response
| private

## ◆ g_response_ignored

character(len=:), allocatable, save m_cli2::g_response_ignored
| private

## ◆ g_stop

integer, save m_cli2::g_stop
| private

## ◆ g_stop_message

character(len=:), allocatable, save m_cli2::g_stop_message
| private

## ◆ g_strict

logical, save m_cli2::g_strict =.false.
| private

## ◆ g_subcommand

character(len=:), allocatable, save m_cli2::g_subcommand
| private

## ◆ g_underdash

logical, save m_cli2::g_underdash =.false.
| private

## ◆ gen

character(len=*), parameter m_cli2::gen ='(*(g0))'
| private

## ◆ keywords

character(len=:), dimension(:), allocatable, save m_cli2::keywords
| private

## ◆ mandatory

logical, dimension(:), allocatable, save m_cli2::mandatory
| private

## ◆ present_in

logical, dimension(:), allocatable, save m_cli2::present_in
| private

## ◆ remaining

character(len=:), allocatable, public m_cli2::remaining

## ◆ shorts

character(len=:), dimension(:), allocatable, save m_cli2::shorts
| private

## ◆ sp

integer, parameter, private m_cli2::sp =kind(0.0)
| private

## ◆ unnamed

character(len=:), dimension(:), allocatable, public m_cli2::unnamed

## ◆ values

character(len=:), dimension(:), allocatable, save m_cli2::values
| private