Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | code | Encoded array. |
||
class(*), | intent(out) | :: | up(1:) | Unlimited polymorphic variable to be decoded. |
Decode an unlimited polymorphic array from base64.
subroutine b64_decode_up_a(code, up)
!---------------------------------------------------------------------------------------------------------------------------------
!< Decode an unlimited polymorphic array from base64.
!---------------------------------------------------------------------------------------------------------------------------------
character(*), intent(in) :: code !< Encoded array.
class(*), intent(out) :: up(1:) !< Unlimited polymorphic variable to be decoded.
!---------------------------------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------------------------------
select type(up)
type is(real(R8P))
call b64_decode_R8_a(code=code,n=up)
type is(real(R4P))
call b64_decode_R4_a(code=code,n=up)
type is(integer(I8P))
call b64_decode_I8_a(code=code,n=up)
type is(integer(I4P))
call b64_decode_I4_a(code=code,n=up)
type is(integer(I2P))
call b64_decode_I2_a(code=code,n=up)
type is(integer(I1P))
call b64_decode_I1_a(code=code,n=up)
type is(character(*))
call b64_decode_string_a(code=code,s=up)
endselect
return
!---------------------------------------------------------------------------------------------------------------------------------
endsubroutine b64_decode_up_a