slice Function

private pure function slice(self, istart, iend) result(raw)

Arguments

Type IntentOptional AttributesName
class(string), intent(in) :: self

The string.

integer, intent(in) :: istart

Slice start index.

integer, intent(in) :: iend

Slice end index.

Return Value character(kind=CK,len=:), allocatable

Raw characters data.

Description

Return the raw characters data sliced.

Example

 type(string) :: astring        !< A string.
 astring = 'the Quick Brown fox Jumps over the Lazy Dog.'
 print "(A)", astring%slice(11,25) ! print "Brown fox Jumps"

Source Code

  pure function slice(self, istart, iend) result(raw)
  !---------------------------------------------------------------------------------------------------------------------------------
  !< Return the raw characters data sliced.
  !<
  !<### Example
  !<
  !<```fortran
  !< type(string) :: astring        !< A string.
  !< astring = 'the Quick Brown fox Jumps over the Lazy Dog.'
  !< print "(A)", astring%slice(11,25) ! print "Brown fox Jumps"
  !<```
  !---------------------------------------------------------------------------------------------------------------------------------
  class(string), intent(in)              :: self   !< The string.
  integer,       intent(in)              :: istart !< Slice start index.
  integer,       intent(in)              :: iend   !< Slice end   index.
  character(kind=CK, len=:), allocatable :: raw    !< Raw characters data.
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  if (allocated(self%raw)) then
    raw = self%raw(istart:iend)
  else
    raw = ''
  endif
  return
  !---------------------------------------------------------------------------------------------------------------------------------
  endfunction slice