@@ -224,6 +224,19 @@ module stdlib_system
224
224
225
225
end type fs_error
226
226
227
+ interface operator (== )
228
+ module procedure code_eq_err
229
+ module procedure err_eq_code
230
+ end interface operator (==)
231
+
232
+ interface operator (/= )
233
+ module procedure code_neq_err
234
+ module procedure err_neq_code
235
+ end interface operator (/= )
236
+
237
+ public :: operator (==)
238
+ public :: operator (/= )
239
+
227
240
interface runasync
228
241
! ! version: experimental
229
242
! !
@@ -845,4 +858,28 @@ pure subroutine fs_error_handling(err,err_out)
845
858
end if
846
859
end subroutine fs_error_handling
847
860
861
+ pure logical function code_eq_err(code, err)
862
+ integer , intent (in ) :: code
863
+ type (fs_error), intent (in ) :: err
864
+ code_eq_err = code == err% code
865
+ end function code_eq_err
866
+
867
+ pure logical function err_eq_code(err, code)
868
+ integer , intent (in ):: code
869
+ type (fs_error), intent (in ) :: err
870
+ err_eq_code = code == err% code
871
+ end function err_eq_code
872
+
873
+ pure logical function code_neq_err(code, err)
874
+ integer , intent (in ) :: code
875
+ type (fs_error), intent (in ) :: err
876
+ code_neq_err = code /= err% code
877
+ end function code_neq_err
878
+
879
+ pure logical function err_neq_code(err, code)
880
+ integer , intent (in ) :: code
881
+ type (fs_error), intent (in ) :: err
882
+ err_neq_code = code /= err% code
883
+ end function err_neq_code
884
+
848
885
end module stdlib_system
0 commit comments