reverse Function

private elemental function reverse(self) result(reversed)

Arguments

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

The string.

Return Value type(string)

The reversed string.

Description

Return a reversed string.


Variables

TypeVisibility AttributesNameInitial
integer, public :: length

Length of the string.

integer, public :: c

Counter.


Source Code

  elemental function reverse(self) result(reversed)
  !---------------------------------------------------------------------------------------------------------------------------------
  !< Return a reversed string.
  !---------------------------------------------------------------------------------------------------------------------------------
  class(string), intent(in) :: self     !< The string.
  type(string)              :: reversed !< The reversed string.
  integer                   :: length   !< Length of the string.
  integer                   :: c        !< Counter.
  !---------------------------------------------------------------------------------------------------------------------------------

  !---------------------------------------------------------------------------------------------------------------------------------
  if (allocated(self%raw)) then
    reversed = self
    length = len(self%raw)
    do c=1, length
      reversed%raw(c:c) = self%raw(length-c+1:length-c+1)
    enddo
  endif
  return
  !---------------------------------------------------------------------------------------------------------------------------------
  endfunction reverse