private interface b64_encode_up
Encode unlimited polymorphic variable to base64.
This is an interface for encoding both scalar and array.
Warning The encoded string is returned as varying length character string, character(len=:), allocatable:: string, thus the
compiler must support such a Fortran (2003) feature.
Note Before start to encode anything the library must be initialized. The procedure b64_init must be called at first. The
global variable is_b64_initialized can be used to check the status of the initialization.
For a practical example see the autotest procedure.
character ( len = :), allocatable :: code64 ! base64 encoded string
...
call b64_encode_up ( up = 1 2._R8P , code = code64 )
character ( len = :), allocatable :: code64 ! base64 encoded string
...
call b64_encode_up ( up = [ 12_I4P , 1_I4P ], code = code64 )
Note If you want to encode heterogenous data (e.g. integer and real numbers), you must use the auxiliary pack_data
procedure.
Warning The encoding of array of strings is admitted only if each string of the array has the same length.
Calls
interface~~b64_encode_up~~CallsGraph
interface~b64_encode_up
b64_encode_up
interface~b64_encode_up->interface~b64_encode_up
proc~b64_encode_up_a
b64_encode_up_a
interface~b64_encode_up->proc~b64_encode_up_a
proc~b64_encode_r4_a
b64_encode_R4_a
proc~b64_encode_up_a->proc~b64_encode_r4_a
proc~b64_encode_i2_a
b64_encode_I2_a
proc~b64_encode_up_a->proc~b64_encode_i2_a
proc~b64_encode_string_a
b64_encode_string_a
proc~b64_encode_up_a->proc~b64_encode_string_a
proc~b64_encode_i1_a
b64_encode_I1_a
proc~b64_encode_up_a->proc~b64_encode_i1_a
proc~b64_encode_i8_a
b64_encode_I8_a
proc~b64_encode_up_a->proc~b64_encode_i8_a
proc~b64_encode_r8_a
b64_encode_R8_a
proc~b64_encode_up_a->proc~b64_encode_r8_a
proc~b64_encode_i4_a
b64_encode_I4_a
proc~b64_encode_up_a->proc~b64_encode_i4_a
proc~encode_bits
encode_bits
proc~b64_encode_r4_a->proc~encode_bits
proc~b64_encode_i2_a->proc~encode_bits
proc~b64_encode_string_a->proc~encode_bits
interface~byte_size
byte_size
proc~b64_encode_string_a->interface~byte_size
proc~b64_encode_i1_a->proc~encode_bits
proc~b64_encode_i8_a->proc~encode_bits
proc~b64_encode_r8_a->proc~encode_bits
proc~b64_encode_i4_a->proc~encode_bits
proc~byte_size_i8p
byte_size_I8P
interface~byte_size->proc~byte_size_i8p
proc~byte_size_i1p
byte_size_I1P
interface~byte_size->proc~byte_size_i1p
proc~byte_size_r4p
byte_size_R4P
interface~byte_size->proc~byte_size_r4p
proc~byte_size_chr
byte_size_chr
interface~byte_size->proc~byte_size_chr
proc~byte_size_r8p
byte_size_R8P
interface~byte_size->proc~byte_size_r8p
proc~byte_size_i2p
byte_size_I2P
interface~byte_size->proc~byte_size_i2p
proc~byte_size_i4p
byte_size_I4P
interface~byte_size->proc~byte_size_i4p
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Module Procedures
Encode unlimited polymorphic variable to base64.
Arguments
None
Encode an unlimited polymorphic array to base64.
Arguments
Type
Intent Optional
Attributes Name
class(*),
intent(in)
::
up (1:)Unlimited polymorphic variable to be encoded.
character(len=:),
intent(out),
allocatable ::
code Encoded array.