io_fortran_lib Module

This module provides common I/O routines for data of integer, real, complex, and character type, and a derived type String for advanced character handling and text file I/O. This module is F2018 compliant, has no external dependencies, and has a max line length of 120.



Variables

Type Visibility Attributes Name Initial
character(len=1), public, parameter :: NL = new_line("a")

The newline character (system agnostic)

character(len=1), public, parameter :: SPACE = achar(32)

The space character

character(len=1), public, parameter :: CR = achar(13)

The carriage return character

character(len=1), public, parameter :: FF = achar(12)

The form feed character

character(len=1), public, parameter :: VT = achar(11)

The vertical tab character

character(len=1), public, parameter :: LF = achar(10)

The line feed character

character(len=1), public, parameter :: TAB = achar(9)

The horizontal tab character

character(len=1), public, parameter :: HT = achar(9)

The horizontal tab character (alternate name)

character(len=1), public, parameter :: BELL = achar(7)

The bell/alert character

character(len=1), public, parameter :: NUL = achar(0)

The null character

character(len=1), public, parameter :: CNUL = c_null_char

The C null character re-exported from iso_c_binding


Interfaces

public interface operator(//)

Concatenation operator for character and String, lifted from character. Mixed type concatenation of character and String is explicitly defined.

For a user reference, see Concatenation.

  • private pure elemental recursive module function string_concatenation(Stringl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    class(String), intent(in) :: Stringr

    Return Value type(String)

  • private pure elemental recursive module function string_char_concatenation(Stringl, charsr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    character(len=*), intent(in) :: charsr

    Return Value type(String)

  • private pure elemental recursive module function char_string_concatenation(charsl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    class(String), intent(in) :: Stringr

    Return Value type(String)

public interface operator(+)

Concatenation operator for character and String (as addition). Mixed type concatenation of character and String is explicitly defined.

For a user reference, see Concatenation.

  • private pure elemental recursive module function char_concat_plus(charsl, charsr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    character(len=*), intent(in) :: charsr

    Return Value character(len=len)

  • private pure elemental recursive module function string_concat_plus(Stringl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    class(String), intent(in) :: Stringr

    Return Value type(String)

  • private pure elemental recursive module function string_char_concat_plus(Stringl, charsr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    character(len=*), intent(in) :: charsr

    Return Value type(String)

  • private pure elemental recursive module function char_string_concat_plus(charsl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    class(String), intent(in) :: Stringr

    Return Value type(String)

public interface operator(-)

Excision operator for character and String (as subtraction). Mixed type excision of character and String is explicitly defined.

For a user reference, see Excision.

  • private pure elemental recursive module function char_excision(charsl, charsr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    character(len=*), intent(in) :: charsr

    Return Value type(String)

  • private pure elemental recursive module function string_excision(Stringl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    class(String), intent(in) :: Stringr

    Return Value type(String)

  • private pure elemental recursive module function string_char_excision(Stringl, charsr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    character(len=*), intent(in) :: charsr

    Return Value type(String)

  • private pure elemental recursive module function char_string_excision(charsl, Stringr) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    class(String), intent(in) :: Stringr

    Return Value type(String)

public interface operator(**)

Repetition operator for character and String (as exponentiation).

For a user reference, see Repetition.

  • private pure elemental recursive module function repeat_chars(char_base, ncopies) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: char_base
    integer, intent(in) :: ncopies

    Return Value character(len=len)

  • private pure elemental recursive module function repeat_String(String_base, ncopies) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: String_base
    integer, intent(in) :: ncopies

    Return Value type(String)

public interface operator(==)

Equivalence operator for character and String. Mixed type equivalence of character and String is explicitly defined.

For a user reference, see Equivalence.

Note

The equivalence operator == is interchangeable with .eq..

  • private pure elemental recursive module function string_equivalence(Stringl, Stringr) result(equal)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    class(String), intent(in) :: Stringr

    Return Value logical

  • private pure elemental recursive module function string_char_equivalence(Stringl, charsr) result(equal)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    character(len=*), intent(in) :: charsr

    Return Value logical

  • private pure elemental recursive module function char_string_equivalence(charsl, Stringr) result(equal)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    class(String), intent(in) :: Stringr

    Return Value logical

public interface operator(/=)

Non-equivalence operator for character and String. Mixed type non-equivalence of character and String is explicitly defined.

For a user reference, see Non-equivalence.

Note

The non-equivalence operator /= is interchangeable with .ne..

  • private pure elemental recursive module function string_nonequivalence(Stringl, Stringr) result(unequal)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    class(String), intent(in) :: Stringr

    Return Value logical

  • private pure elemental recursive module function string_char_nonequivalence(Stringl, charsr) result(unequal)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: Stringl
    character(len=*), intent(in) :: charsr

    Return Value logical

  • private pure elemental recursive module function char_string_nonequivalence(charsl, Stringr) result(unequal)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: charsl
    class(String), intent(in) :: Stringr

    Return Value logical

public interface String

Function for returning a String representation of numbers.

For a user reference, see String, String methods, and Operators.

  • private pure elemental recursive module function new_string_from_c128(x, locale, fmt, decimals, im) result(new)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_c64(x, locale, fmt, decimals, im) result(new)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_c32(x, locale, fmt, decimals, im) result(new)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_r128(x, locale, fmt, decimals) result(new)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_r64(x, locale, fmt, decimals) result(new)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_r32(x, locale, fmt, decimals) result(new)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_i64(x, fmt) result(new)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_i32(x, fmt) result(new)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_i16(x, fmt) result(new)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_i8(x, fmt) result(new)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_string(x) result(new)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: x

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_char(x) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: x

    Return Value type(String)

  • private pure elemental recursive module function new_string_from_empty() result(new)

    Arguments

    None

    Return Value type(String)

public interface str

Function for returning a character representation of a number.

For a user reference, see str.

  • private pure recursive module function str_from_c128(x, locale, fmt, decimals, im) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_c64(x, locale, fmt, decimals, im) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_c32(x, locale, fmt, decimals, im) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_r128(x, locale, fmt, decimals) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_r64(x, locale, fmt, decimals) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_r32(x, locale, fmt, decimals) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_i64(x, fmt) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_i32(x, fmt) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_i16(x, fmt) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_i8(x, fmt) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x
    character(len=*), intent(in), optional :: fmt

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_string(x) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: x

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_char(x) result(x_str)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: x

    Return Value character(len=:), allocatable

  • private pure recursive module function str_from_empty() result(x_str)

    Arguments

    None

    Return Value character(len=:), allocatable

public interface cast

Subroutine for casting between numeric and string data.

For a user reference, see cast.

  • private pure elemental recursive module subroutine cast_c128_to_string(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_c64_to_string(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_c32_to_string(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_r128_to_string(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure elemental recursive module subroutine cast_r64_to_string(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure elemental recursive module subroutine cast_r32_to_string(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure elemental recursive module subroutine cast_i64_to_string(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_i32_to_string(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_i16_to_string(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_i8_to_string(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x
    type(String), intent(inout) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_c128_to_char(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_c64_to_char(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_c32_to_char(x, into, locale, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_r128_to_char(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure recursive module subroutine cast_r64_to_char(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure recursive module subroutine cast_r32_to_char(x, into, locale, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private pure recursive module subroutine cast_i64_to_char(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_i32_to_char(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_i16_to_char(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_i8_to_char(x, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x
    character(len=:), intent(inout), allocatable :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_c128(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    complex(kind=r128), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_string_to_c64(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    complex(kind=r64), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_string_to_c32(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    complex(kind=r32), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure elemental recursive module subroutine cast_string_to_r128(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    real(kind=r128), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_r64(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    real(kind=r64), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_r32(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    real(kind=r32), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_i64(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    integer(kind=i64), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_i32(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    integer(kind=i32), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_i16(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    integer(kind=i16), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure elemental recursive module subroutine cast_string_to_i8(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    integer(kind=i8), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_c128(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    complex(kind=r128), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_char_to_c64(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    complex(kind=r64), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_char_to_c32(substring, into, locale, fmt, im)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    complex(kind=r32), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
    character(len=*), intent(in), optional :: im
  • private pure recursive module subroutine cast_char_to_r128(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    real(kind=r128), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_r64(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    real(kind=r64), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_r32(substring, into, locale, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    real(kind=r32), intent(out) :: into
    character(len=*), intent(in), optional :: locale
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_i64(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    integer(kind=i64), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_i32(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    integer(kind=i32), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_i16(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    integer(kind=i16), intent(out) :: into
    character(len=*), intent(in), optional :: fmt
  • private pure recursive module subroutine cast_char_to_i8(substring, into, fmt)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    integer(kind=i8), intent(out) :: into
    character(len=*), intent(in), optional :: fmt

public interface join

Function for joining a vector of tokens into a scalar character or String.

For a user reference, see join.

  • private pure recursive module function join_char(tokens, separator) result(new)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: tokens(:)
    character(len=*), intent(in), optional :: separator

    Return Value character(len=:), allocatable

  • private pure recursive module function join_string(tokens, separator) result(new)

    Arguments

    Type IntentOptional Attributes Name
    type(String), intent(in) :: tokens(:)
    character(len=*), intent(in), optional :: separator

    Return Value type(String)

public interface split

Function for splitting a scalar character or String into a vector of tokens.

For a user reference, see split.

  • private pure recursive module function split_char(substring, separator) result(tokens)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    character(len=*), intent(in), optional :: separator

    Return Value type(String), allocatable, (:)

  • private pure recursive module function split_string(substring, separator) result(tokens)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    character(len=*), intent(in), optional :: separator

    Return Value type(String), allocatable, (:)

public interface to_file

Subroutine for writing an array of uniform numeric data type to an external file.

For a user reference, see to_file.

  • private impure recursive module subroutine to_file_c128(x, file, header, locale, delim, fmt, decimals, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_c64(x, file, header, locale, delim, fmt, decimals, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_c32(x, file, header, locale, delim, fmt, decimals, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_r128(x, file, header, locale, delim, fmt, decimals, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_r64(x, file, header, locale, delim, fmt, decimals, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_r32(x, file, header, locale, delim, fmt, decimals, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(in), optional, target :: decimals
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_i64(x, file, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_i32(x, file, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_i16(x, file, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine to_file_i8(x, file, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x(..)
    character(len=*), intent(in) :: file
    character(len=*), intent(in), optional, target :: header(:)
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg

public interface from_file

Subroutine for reading an external file of uniform numeric data type and format into an array.

For a user reference, see from_file.

  • private impure recursive module subroutine from_textfile_c128(file, into, header, locale, delim, fmt, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r128), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_c64(file, into, header, locale, delim, fmt, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r64), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_c32(file, into, header, locale, delim, fmt, im, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r32), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    character(len=*), intent(in), optional, target :: im
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_c128(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r128), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_c64(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r64), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_c32(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    complex(kind=r32), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_r128(file, into, header, locale, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r128), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_r64(file, into, header, locale, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r64), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_r32(file, into, header, locale, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r32), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: locale
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_r128(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r128), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_r64(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r64), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_r32(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    real(kind=r32), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_i64(file, into, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i64), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_i32(file, into, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i32), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_i16(file, into, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i16), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_textfile_i8(file, into, header, delim, fmt, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i8), intent(out), allocatable :: into(..)
    logical, intent(in), optional, target :: header
    character(len=*), intent(in), optional, target :: delim
    character(len=*), intent(in), optional, target :: fmt
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_i64(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i64), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_i32(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i32), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_i16(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i16), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine from_binaryfile_i8(file, into, data_shape, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: file
    integer(kind=i8), intent(out), allocatable :: into(..)
    integer, intent(in) :: data_shape(:)
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg

public interface echo

Subroutine for writing a scalar character or String to an external text file.

For a user reference, see echo.

  • private impure recursive module subroutine echo_chars(substring, file, append, terminator, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: substring
    character(len=*), intent(in) :: file
    logical, intent(in), optional, target :: append
    character(len=*), intent(in), optional, target :: terminator
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg
  • private impure recursive module subroutine echo_string(substring, file, append, terminator, stat, errmsg)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: substring
    character(len=*), intent(in) :: file
    logical, intent(in), optional, target :: append
    character(len=*), intent(in), optional, target :: terminator
    integer, intent(out), optional, target :: stat
    character(len=*), intent(out), optional, target :: errmsg

public interface aprint

Subroutine for printing arrays and array sections to stdout.

For a user reference, see aprint.

  • private impure recursive module subroutine aprint_1dc128(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_1dc64(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_1dc32(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_2dc128(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r128), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_2dc64(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r64), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_2dc32(x, fmt, decimals, im)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=r32), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
    character(len=*), intent(in), optional :: im
  • private impure recursive module subroutine aprint_1dr128(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_1dr64(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_1dr32(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_2dr128(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r128), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_2dr64(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r64), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_2dr32(x, fmt, decimals)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=r32), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
    integer, intent(in), optional :: decimals
  • private impure recursive module subroutine aprint_1di64(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_1di32(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_1di16(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_1di8(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x(:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_2di64(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i64), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_2di32(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i32), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_2di16(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i16), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_2di8(x, fmt)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=i8), intent(in) :: x(:,:)
    character(len=*), intent(in), optional :: fmt
  • private impure recursive module subroutine aprint_1dchar(x)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: x(:)
  • private impure recursive module subroutine aprint_2dchar(x)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: x(:,:)
  • private impure recursive module subroutine aprint_1dString(x)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: x(:)
  • private impure recursive module subroutine aprint_2dString(x)

    Arguments

    Type IntentOptional Attributes Name
    class(String), intent(in) :: x(:,:)

Derived Types

type, public ::  String

A growable string type for advanced character handling and text I/O.

Read more…

Constructor

Function for returning a String representation of numbers.

Read more…
private pure, elemental, recursive, module function new_string_from_c128 (x, locale, fmt, decimals, im)
private pure, elemental, recursive, module function new_string_from_c64 (x, locale, fmt, decimals, im)
private pure, elemental, recursive, module function new_string_from_c32 (x, locale, fmt, decimals, im)
private pure, elemental, recursive, module function new_string_from_r128 (x, locale, fmt, decimals)
private pure, elemental, recursive, module function new_string_from_r64 (x, locale, fmt, decimals)
private pure, elemental, recursive, module function new_string_from_r32 (x, locale, fmt, decimals)
private pure, elemental, recursive, module function new_string_from_i64 (x, fmt)
private pure, elemental, recursive, module function new_string_from_i32 (x, fmt)
private pure, elemental, recursive, module function new_string_from_i16 (x, fmt)
private pure, elemental, recursive, module function new_string_from_i8 (x, fmt)
private pure, elemental, recursive, module function new_string_from_string (x)
private pure, elemental, recursive, module function new_string_from_char (x)
private pure, elemental, recursive, module function new_string_from_empty ()

Finalizations Procedures

final :: scrub

Type-Bound Procedures

generic, public :: cast => cast_string_to_c128, cast_string_to_c64, cast_string_to_c32, cast_string_to_r128, cast_string_to_r64, cast_string_to_r32, cast_string_to_i64, cast_string_to_i32, cast_string_to_i16, cast_string_to_i8
generic, public :: count => count_substring_chars, count_substring_string
generic, public :: echo => echo_string
generic, public :: push => push_chars, push_string
generic, public :: replace => replace_ch_copy, replace_st_copy, replace_chst_copy, replace_stch_copy
generic, public :: replace_inplace => replace_ch_inplace, replace_st_inplace, replace_chst_inplace, replace_stch_inplace
generic, public :: split => split_string
generic, public :: write(formatted) => write_string
procedure, public, pass(self) :: as_str
procedure, public, pass(self) :: empty
procedure, public, pass(self) :: join => join_into_self
procedure, public, pass(self) :: len => length
procedure, public, pass(self) :: len64 => length64
procedure, public, pass(self) :: read_file
procedure, public, pass(self) :: trim => trim_copy
procedure, public, pass(self) :: trim_inplace
procedure, public, pass(self) :: write_file