25 character(len=:),
allocatable :: charstring
47 character(len=*),
intent(in) :: rhs
48 logical :: allocate_charstring
49 allocate_charstring = .false.
50 if (
allocated(lhs%charstring))
then
51 if (len(lhs%charstring) <= len(rhs))
then
52 lhs%charstring(:) = rhs
54 allocate_charstring = .true.
57 allocate_charstring = .true.
59 if (allocate_charstring)
then
65 character(len=*),
intent(out) :: lhs
67 if (
allocated(rhs%charstring))
then
75 character(len=*),
intent(in) :: lhs
78 if (
allocated(rhs%charstring))
then
79 equals = lhs == rhs%charstring
87 character(len=*),
intent(in) :: rhs
89 if (
allocated(lhs%charstring))
then
90 equals = lhs%charstring == rhs
102 if (
allocated(this%charstring))
then
103 equals = (rhs == this%charstring)
110 integer,
intent(in) :: unit
111 integer,
intent(out) :: iostat
112 character(len=*),
intent(inout) :: iomsg
114 if (
allocated(this%charstring))
then
115 write (unit, iostat=iostat) this%charstring
123 if (
allocated(this%charstring))
then
124 length = len(this%charstring)
elemental logical function charstring_eq_character(lhs, rhs)
recursive subroutine assign_to_charstring(lhs, rhs)
subroutine write_unformatted(this, unit, iostat, iomsg)
elemental logical function character_eq_charstring(lhs, rhs)
subroutine assign_from_charstring(lhs, rhs)
elemental logical function charstring_eq_charstring(this, rhs)
integer function strlen(this)
This class is used to store a single deferred-length character string. It was designed to work in an ...