@@ -224,6 +224,19 @@ module stdlib_system
224224
225225end type fs_error
226226
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+
227240interface runasync
228241 ! ! version: experimental
229242 ! !
@@ -845,4 +858,28 @@ pure subroutine fs_error_handling(err,err_out)
845858 end if
846859end subroutine fs_error_handling
847860
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+
848885end module stdlib_system
0 commit comments