dc_args::strict Interface Reference

Private Member Functions

subroutine dcargsstrict0 (arg, severe)
 

Detailed Description

Definition at line 298 of file dc_args.f90.

Member Function/Subroutine Documentation

◆ dcargsstrict0()

subroutine dc_args::strict::dcargsstrict0 ( type(args), intent(inout)  arg,
logical, intent(in), optional  severe 
)
private

Definition at line 746 of file dc_args.f90.

746  !
747  ! オプションチェックを行います.
748  !
749  ! コマンドライン引数のオプションとして指定されたものの内,
750  ! DCArgsOption サブルーチンで設定されていないものが存在する
751  ! 場合には警告を返します. *severe* に .true. を指定すると
752  ! エラーを返して終了します.
753  ! このサブルーチンを呼ぶ前に, DCArgsOption, DCArgsDebug,
754  ! DCArgsHelp サブルーチンを呼んでください.
755  !
756  ! 構造体 ARGS の変数に対してこのサブルーチンを適用しておく
757  ! ことで, コマンドライン引数として与えたオプションが正しく
758  ! プログラムが認識しているかどうかをチェックすることができます.
759  !
760  !
761  use dc_types, only: string
762  use dc_present, only: present_and_true
763  use dc_message, only: messagenotify
764  implicit none
765  type(args), intent(inout) :: arg
766  logical, intent(in), optional :: severe
767  character(STRING) :: err_mess
768  integer :: i
769  character(len = *), parameter :: subname = 'DCArgsStrict'
770  continue
771  if (.not. arg % initialized) then
772  call messagenotify('W', subname, 'Call Open before Help in dc_args.')
773  call dcargsopen(arg)
774  end if
775  do i = 1, size(arg % cmd_opts_list)
776  err_mess = trim(arg % cmd_opts_list(i) % name) // ' is invalid option.'
777  if (.not. arg % cmd_opts_list(i) % flag_called) then
778  if (present_and_true(severe)) then
779  call messagenotify('E', subname, err_mess)
780  else
781  call messagenotify('W', subname, err_mess)
782  end if
783  end if
784  end do
logical function, public present_and_true(arg)
Definition: dc_present.f90:80
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118

The documentation for this interface was generated from the following file: