@@ -14,16 +14,17 @@ module sourcery_string_m
14
14
generic :: string = > as_character
15
15
procedure :: is_allocated
16
16
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
24
25
procedure , private , pass(rhs) :: character_ne_string_t
25
- procedure , private :: string_t_eq_string_t, string_t_eq_character
26
26
procedure , private , pass(rhs) :: character_eq_string_t
27
+ procedure , private , pass(rhs) :: assign_string_t_to_character
27
28
end type
28
29
29
30
interface string_t
@@ -136,6 +137,18 @@ elemental module function character_ne_string_t(lhs, rhs) result(lhs_ne_rhs)
136
137
logical lhs_ne_rhs
137
138
end function
138
139
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
+
139
152
end interface
140
153
141
154
end module sourcery_string_m
0 commit comments