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

◆ 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

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

◆ 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