dc_url::urlsearchiorange Interface Reference

Private Member Functions

character(len=string) function url_search_iorange (fullname, dimvar)
 

Detailed Description

Definition at line 71 of file dc_url.f90.

Member Function/Subroutine Documentation

◆ url_search_iorange()

character(len = string) function dc_url::urlsearchiorange::url_search_iorange ( character(len = *), intent(in)  fullname,
character(len = *), intent(in)  dimvar 
)
private

Definition at line 215 of file dc_url.f90.

215  !
216  ! 変数 URL *fullname* 内の, 次元 *dimvar* に関する
217  ! 入出力範囲指定の値を取得します。
218  !
219  ! fullname には gtool4 変数全体または入出力範囲指定部分の値を与えます。
220  ! dimvar には入出力範囲指定部分に含まれる次元変数名を与えます。
221  ! dimvar に対応する次元変数が存在する場合、その値を返します。
222  ! dimvar に対応する次元変数が存在しない場合、空文字を返します。
223  !
224  use dc_types, only: string
225  use dc_string, only: split
226  character(len = *), intent(in):: fullname
227  character(len = *), intent(in):: dimvar
228  character(len = STRING):: result
229  character(STRING):: file, var, attr, iorange
230  character(STRING), pointer :: ioranges_slice(:) => null()
231  integer :: i, eqpos, atmark
232  continue
233  result = ""
234  ! @ または ? が含まれているなら urlsplit で分離
235  atmark = index(fullname, gt_question)
236  if (atmark == 0) atmark = index(fullname, gt_atmark)
237  if (atmark /= 0) then
238  call urlsplit(fullname, file=file, var=var, attr=attr, iorange=iorange)
239  else
240  iorange = fullname
241  end if
242  call split(iorange, ioranges_slice, gt_comma)
243  do i = 1, size(ioranges_slice)
244  eqpos = index(ioranges_slice(i), gt_equal)
245  if (ioranges_slice(i)(1:eqpos-1) == trim(dimvar)) then
246  result = trim(ioranges_slice(i)(eqpos+1:))
247  exit
248  end if
249  end do
250  deallocate(ioranges_slice)
文字型変数の操作.
Definition: dc_string.f90:24
種別型パラメタを提供します。
Definition: dc_types.f90:49
integer, save, private i
Definition: dcunits_com.f90:42
integer, parameter, public string
文字列を保持する 文字型変数の種別型パラメタ
Definition: dc_types.f90:118

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