A wrapper for json_file_valid_path for the .in.
operator
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK, len=*), | intent(in) | :: | path |
the path to the variable |
||
class(json_file), | intent(in) | :: | me |
the JSON file |
if the variable was found
function json_file_valid_path_op(path,me) result(found) implicit none character(kind=CK,len=*),intent(in) :: path !! the path to the variable class(json_file),intent(in) :: me !! the JSON file logical(LK) :: found !! if the variable was found type(json_core) :: core_copy !! a copy of `core` from `me` ! This is sort of a hack. Since `me` has to have `intent(in)` ! for the operator to work, we need to make a copy of `me%core` ! so we can call the low level routine (since it needs it to ! be `intent(inout)`) because it's technically possible for this ! function to raise an exception. This normally should never ! happen here unless the JSON structure is malformed. core_copy = me%core ! copy the settings (need them to know ! how to interpret the path) found = core_copy%valid_path(me%p, path) ! call the low-level routine call core_copy%destroy() ! just in case (but not really necessary) end function json_file_valid_path_op