Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(string), | intent(in) | :: | lhs | |||
type(string), | intent(in) | :: | rhs |
elemental function string_concat_string_string(lhs, rhs) result(concat) !< Concatenation with string. !< !<```fortran !< type(string) :: astring !< type(string) :: anotherstring !< type(string) :: yetanotherstring !< logical :: test_passed(1) !< astring = 'Hello ' !< anotherstring = 'Bye bye' !< yetanotherstring = astring.cat.anotherstring !< test_passed(1) = yetanotherstring%chars()=='Hello Bye bye' !< print '(L1)', all(test_passed) !<``` !=> T <<< class(string), intent(in) :: lhs !< Left hand side. type(string), intent(in) :: rhs !< Right hand side. type(string) :: concat !< Concatenated string. character(kind=CK, len=:), allocatable :: temporary !< Temporary concatenated string. temporary = '' if (allocated(lhs%raw)) temporary = lhs%raw if (allocated(rhs%raw)) temporary = temporary//rhs%raw if (temporary/='') concat%raw = temporary endfunction string_concat_string_string