Assignment operator for character = json_core. This is just a wrapper for the json_value_to_string routine.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(kind=CK, len=:), | intent(out), | allocatable | :: | str | ||
class(json_file), | intent(in) | :: | me |
subroutine assign_json_file_to_string(str,me) implicit none character(kind=CK,len=:),allocatable,intent(out) :: str class(json_file),intent(in) :: me type(json_core) :: core_copy !! a copy of `core` from `me` if (me%core%failed() .or. .not. associated(me%p)) then str = CK_'' else ! This is sort of a hack. Since `me` has to have `intent(in)` ! for the assignment 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 possible for this ! function to raise an exception. core_copy = me%core ! copy the parser settings call core_copy%serialize(me%p,str) if (me%core%failed()) str = CK_'' end if end subroutine assign_json_file_to_string