@@ -14,16 +14,17 @@ module sourcery_string_m
1414 generic :: string = > as_character
1515 procedure :: is_allocated
1616 procedure :: get_json_key
17- generic :: operator (/= ) = > string_t_ne_string_t, string_t_ne_character, character_ne_string_t
18- generic :: operator (==) = > string_t_eq_string_t, string_t_eq_character, character_eq_string_t
19- generic :: get_json_value = > &
20- get_json_integer_array, get_json_logical, get_json_integer, get_json_string, get_json_real
21- procedure , private :: &
22- get_json_integer_array, get_json_logical, get_json_integer, get_json_string, get_json_real
23- procedure , private :: string_t_ne_string_t, string_t_ne_character
17+ generic :: operator (/= ) = > string_t_ne_string_t, string_t_ne_character, character_ne_string_t
18+ generic :: operator (==) = > string_t_eq_string_t, string_t_eq_character, character_eq_string_t
19+ generic :: assignment (= ) = > assign_string_t_to_character, assign_character_to_string_t
20+ generic :: get_json_value = > get_json_integer_array, get_json_logical, get_json_integer, get_json_string, get_json_real
21+ procedure , private :: get_json_integer_array, get_json_logical, get_json_integer, get_json_string, get_json_real
22+ procedure , private :: string_t_ne_string_t, string_t_ne_character
23+ procedure , private :: string_t_eq_string_t, string_t_eq_character
24+ procedure , private :: assign_character_to_string_t
2425 procedure , private , pass(rhs) :: character_ne_string_t
25- procedure , private :: string_t_eq_string_t, string_t_eq_character
2626 procedure , private , pass(rhs) :: character_eq_string_t
27+ procedure , private , pass(rhs) :: assign_string_t_to_character
2728 end type
2829
2930 interface string_t
@@ -136,6 +137,18 @@ elemental module function character_ne_string_t(lhs, rhs) result(lhs_ne_rhs)
136137 logical lhs_ne_rhs
137138 end function
138139
140+ pure module subroutine assign_character_to_string_t(lhs, rhs)
141+ implicit none
142+ class(string_t), intent (inout ) :: lhs
143+ character (len=* ), intent (in ) :: rhs
144+ end subroutine
145+
146+ pure module subroutine assign_string_t_to_character(lhs, rhs)
147+ implicit none
148+ class(string_t), intent (in ) :: rhs
149+ character (len= :), intent (out ), allocatable :: lhs
150+ end subroutine
151+
139152 end interface
140153
141154end module sourcery_string_m
0 commit comments