elemental function is_lower(self)
!< Return true if all characters in the string are lowercase.
!<
!<```fortran
!< type(string) :: astring
!< logical :: test_passed(3)
!< astring = ' Hello World'
!< test_passed(1) = astring%is_lower().eqv..false.
!< astring = ' HELLO WORLD'
!< test_passed(2) = astring%is_lower().eqv..false.
!< astring = ' hello world'
!< test_passed(3) = astring%is_lower().eqv..true.
!< print '(L1)', all(test_passed)
!<```
!=> T <<<
class(string), intent(in) :: self !< The string.
logical :: is_lower !< Result of the test.
integer :: c !< Character counter.
is_lower = .false.
if (allocated(self%raw)) then
is_lower = .true.
do c=1, len(self%raw)
if (index(UPPER_ALPHABET, self%raw(c:c))>0) then
is_lower = .false.
exit
endif
enddo
endif
endfunction is_lower