Initialize the BeFoR64 library.
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module using it.
Solid arrows point from one derived type to another which extends (inherits from) it. Dashed arrows point from a derived type to another type containing it as a components, with a label listing the name(s) of said component(s).
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.
subroutine b64_init()
!---------------------------------------------------------------------------------------------------------------------------------
!< Initialize the BeFoR64 library.
!<
!< @note This procedure **must** be called before encoding/decoding anything!
!---------------------------------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------------------------------
if (.not.is_initialized) call penf_init
is_b64_initialized = .true.
return
!---------------------------------------------------------------------------------------------------------------------------------
endsubroutine b64_init