@@ -14,6 +14,7 @@ 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_cat_string_t, string_t_cat_character, character_cat_string_t
17
18
generic :: operator (/= ) = > string_t_ne_string_t, string_t_ne_character, character_ne_string_t
18
19
generic :: operator (==) = > string_t_eq_string_t, string_t_eq_character, character_eq_string_t
19
20
generic :: assignment (= ) = > assign_string_t_to_character, assign_character_to_string_t
@@ -22,6 +23,8 @@ module sourcery_string_m
22
23
procedure , private :: string_t_ne_string_t, string_t_ne_character
23
24
procedure , private :: string_t_eq_string_t, string_t_eq_character
24
25
procedure , private :: assign_character_to_string_t
26
+ procedure , private :: string_t_cat_string_t, string_t_cat_character
27
+ procedure , private , pass(rhs) :: character_cat_string_t
25
28
procedure , private , pass(rhs) :: character_ne_string_t
26
29
procedure , private , pass(rhs) :: character_eq_string_t
27
30
procedure , private , pass(rhs) :: assign_string_t_to_character
@@ -137,6 +140,26 @@ elemental module function character_ne_string_t(lhs, rhs) result(lhs_ne_rhs)
137
140
logical lhs_ne_rhs
138
141
end function
139
142
143
+ pure module function string_t_cat_string_t(lhs, rhs) result(lhs_cat_rhs)
144
+ implicit none
145
+ class(string_t), intent (in ) :: lhs, rhs
146
+ type (string_t) lhs_cat_rhs
147
+ end function
148
+
149
+ pure module function string_t_cat_character(lhs, rhs) result(lhs_cat_rhs)
150
+ implicit none
151
+ class(string_t), intent (in ) :: lhs
152
+ character (len=* ), intent (in ) :: rhs
153
+ type (string_t) lhs_cat_rhs
154
+ end function
155
+
156
+ pure module function character_cat_string_t(lhs, rhs) result(lhs_cat_rhs)
157
+ implicit none
158
+ character (len=* ), intent (in ) :: lhs
159
+ class(string_t), intent (in ) :: rhs
160
+ type (string_t) lhs_cat_rhs
161
+ end function
162
+
140
163
pure module subroutine assign_character_to_string_t(lhs, rhs)
141
164
implicit none
142
165
class(string_t), intent (inout ) :: lhs
0 commit comments