stringifor_string_t Module


Uses

  • module~~stringifor_string_t~2~~UsesGraph module~stringifor_string_t~2 stringifor_string_t iso_fortran_env iso_fortran_env module~stringifor_string_t~2->iso_fortran_env module~penf~2 penf module~stringifor_string_t~2->module~penf~2 module~face face module~stringifor_string_t~2->module~face module~befor64~4 befor64 module~stringifor_string_t~2->module~befor64~4 module~penf_b_size penf_b_size module~penf~2->module~penf_b_size module~penf_stringify~3 penf_stringify module~penf~2->module~penf_stringify~3 module~penf_global_parameters_variables~2 penf_global_parameters_variables module~penf~2->module~penf_global_parameters_variables~2 module~face->iso_fortran_env module~befor64~4->module~penf~2 module~befor64_pack_data_m~4 befor64_pack_data_m module~befor64~4->module~befor64_pack_data_m~4 module~penf_b_size->module~penf_global_parameters_variables~2 module~penf_stringify~3->iso_fortran_env module~penf_stringify~3->module~penf_b_size module~penf_stringify~3->module~penf_global_parameters_variables~2 module~befor64_pack_data_m~4->module~penf~2

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, public, parameter:: CK =selected_char_kind('DEFAULT')
character(kind=CK,len=26), private, parameter:: UPPER_ALPHABET ='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
character(kind=CK,len=26), private, parameter:: LOWER_ALPHABET ='abcdefghijklmnopqrstuvwxyz'
character(kind=CK,len=1), private, parameter:: SPACE =' '
character(kind=CK,len=1), private, parameter:: TAB =achar(9)
character(kind=CK,len=1), private, parameter:: UIX_DIR_SEP =char(47)
character(kind=CK,len=1), private, parameter:: BACKSLASH =char(92)

Interfaces

public interface glob

  • private subroutine glob_character(self, pattern, list)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    character, intent(in) :: pattern
    character(len=:), intent(out), allocatable:: list(:)
  • private subroutine glob_string(self, pattern, list)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    character, intent(in) :: pattern
    type(string), intent(out), allocatable:: list(:)

public interface strjoin

  • private pure function strjoin_strings(array, sep) result(join)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: array(1:)
    character(kind=CK,len=*), intent(in), optional :: sep

    Return Value type(string)

  • private pure function strjoin_characters(array, sep, is_trim) result(join)

    Arguments

    TypeIntentOptionalAttributesName
    character(kind=CK,len=*), intent(in) :: array(1:)
    character(kind=CK,len=*), intent(in), optional :: sep
    logical, intent(in), optional :: is_trim

    Return Value type(string)

  • private pure function strjoin_strings_array(array, sep, is_col) result(join)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: array(1:,1:)
    character(kind=CK,len=*), intent(in), optional :: sep
    logical, intent(in), optional :: is_col

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

  • private pure function strjoin_characters_array(array, sep, is_trim, is_col) result(join)

    Arguments

    TypeIntentOptionalAttributesName
    character(kind=CK,len=*), intent(in) :: array(1:,1:)
    character(kind=CK,len=*), intent(in), optional :: sep
    logical, intent(in), optional :: is_trim
    logical, intent(in), optional :: is_col

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

public interface adjustl

  • private pure function sadjustl_character(s) result(adjusted)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: s

    Return Value character(kind=CK,len=:),allocatable

public interface adjustr

  • private pure function sadjustr_character(s) result(adjusted)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: s

    Return Value character(kind=CK,len=:),allocatable

public interface count

  • private elemental function count_substring(s, substring) result(No)

    Arguments

    TypeIntentOptionalAttributesName
    character, intent(in) :: s
    character, intent(in) :: substring

    Return Value integer(kind=I4P)

public interface index

  • private elemental function sindex_string_string(self, substring, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    type(string), intent(in) :: substring
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sindex_string_character(self, substring, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    character(kind=CK,len=*), intent(in) :: substring
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sindex_character_string(s, substring, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    character(kind=CK,len=*), intent(in) :: s
    type(string), intent(in) :: substring
    logical, intent(in), optional :: back

    Return Value integer

public interface len_trim

  • private elemental function slen_trim(self) result(l)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self

    Return Value integer

public interface repeat

  • private elemental function srepeat_string_string(self, ncopies) result(repeated)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    integer, intent(in) :: ncopies

    Return Value type(string)

public interface scan

  • private elemental function sscan_string_string(self, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    type(string), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sscan_string_character(self, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    character(kind=CK,len=*), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sscan_character_string(s, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    character(kind=CK,len=*), intent(in) :: s
    type(string), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer

public interface trim

  • private elemental function strim(self) result(trimmed)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self

    Return Value type(string)

public interface verify

  • private elemental function sverify_string_string(self, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    type(string), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sverify_string_character(self, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    class(string), intent(in) :: self
    character(kind=CK,len=*), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer

  • private elemental function sverify_character_string(s, set, back) result(i)

    Arguments

    TypeIntentOptionalAttributesName
    character(kind=CK,len=*), intent(in) :: s
    type(string), intent(in) :: set
    logical, intent(in), optional :: back

    Return Value integer


Derived Types

type, public :: string

Components

TypeVisibilityAttributesNameInitial
character(kind=CK,len=:), public, allocatable:: raw

Type-Bound Procedures

procedure, public, pass(self) :: adjustl => sadjustl
procedure, public, pass(self) :: adjustr => sadjustr
procedure, public, pass(self) :: count => scount
generic, public :: index => sindex_string_string, sindex_string_character
procedure, public, pass(self) :: len => slen
procedure, public, pass(self) :: len_trim => slen_trim
generic, public :: repeat => srepeat_string_string, srepeat_character_string
generic, public :: scan => sscan_string_string, sscan_string_character
procedure, public, pass(self) :: trim => strim
generic, public :: verify => sverify_string_string, sverify_string_character
procedure, public, pass(self) :: basedir
procedure, public, pass(self) :: basename
procedure, public, pass(self) :: camelcase
procedure, public, pass(self) :: capitalize
procedure, public, pass(self) :: chars
generic, public :: colorize => colorize_str
procedure, public, pass(self) :: decode
procedure, public, pass(self) :: encode
procedure, public, pass(self) :: escape
procedure, public, pass(self) :: extension
procedure, public, pass(self) :: fill
procedure, public, pass(self) :: free
generic, public :: glob => glob_character, glob_string
generic, public :: insert => insert_string, insert_character
generic, public :: join => join_strings, join_characters
generic, public :: strjoin => strjoin_strings, strjoin_characters, strjoin_strings_array, strjoin_characters_array
procedure, public, pass(self) :: lower
procedure, public, pass(self) :: partition
procedure, public, pass(self) :: read_file
procedure, public, pass(self) :: read_line
procedure, public, pass(self) :: read_lines
procedure, public, pass(self) :: replace
procedure, public, pass(self) :: reverse
procedure, public, pass(self) :: search
procedure, public, pass(self) :: slice
procedure, public, pass(self) :: snakecase
procedure, public, pass(self) :: split
procedure, public, pass(self) :: split_chunked
procedure, public, pass(self) :: startcase
procedure, public, pass(self) :: strip
procedure, public, pass(self) :: swapcase
procedure, public, pass(self) :: tempname
generic, public :: to_number => to_integer_I1P, to_integer_I2P, to_integer_I4P, to_integer_I8P, to_real_R8P, to_real_R4P
procedure, public, pass(self) :: unescape
procedure, public, pass(self) :: unique
procedure, public, pass(self) :: upper
procedure, public, pass(self) :: write_file
procedure, public, pass(self) :: write_line
procedure, public, pass(self) :: write_lines
procedure, public, pass(self) :: end_with
procedure, public, pass(self) :: is_allocated
procedure, public, pass(self) :: is_digit
procedure, public, pass(self) :: is_integer
procedure, public, pass(self) :: is_lower
procedure, public, pass(self) :: is_number
procedure, public, pass(self) :: is_real
procedure, public, pass(self) :: is_upper
procedure, public, pass(self) :: start_with
generic, public :: assignment(=) => string_assign_string, string_assign_character, string_assign_integer_I1P, string_assign_integer_I2P, string_assign_integer_I4P, string_assign_integer_I8P, string_assign_real_R8P, string_assign_real_R4P
generic, public :: operator(//) => string_concat_string, string_concat_character, character_concat_string
generic, public :: operator(.cat.) => string_concat_string_string, string_concat_character_string, character_concat_string_string
generic, public :: operator(==) => string_eq_string, string_eq_character, character_eq_string
generic, public :: operator(/=) => string_ne_string, string_ne_character, character_ne_string
generic, public :: operator(<) => string_lt_string, string_lt_character, character_lt_string
generic, public :: operator(<=) => string_le_string, string_le_character, character_le_string
generic, public :: operator(>=) => string_ge_string, string_ge_character, character_ge_string
generic, public :: operator(>) => string_gt_string, string_gt_character, character_gt_string
generic, public :: read(formatted) => read_formatted
generic, public :: write(formatted) => write_formatted
generic, public :: read(unformatted) => read_unformatted
generic, public :: write(unformatted) => write_unformatted
procedure, private, pass(self) :: sindex_string_string
procedure, private, pass(self) :: sindex_string_character
procedure, private, pass(self) :: srepeat_string_string
procedure, private, nopass :: srepeat_character_string
procedure, private, pass(self) :: sscan_string_string
procedure, private, pass(self) :: sscan_string_character
procedure, private, pass(self) :: sverify_string_string
procedure, private, pass(self) :: sverify_string_character
procedure, private, pass(self) :: colorize_str
procedure, private, pass(self) :: glob_character
procedure, private, pass(self) :: glob_string
procedure, private, pass(self) :: insert_string
procedure, private, pass(self) :: insert_character
procedure, private, pass(self) :: join_strings
procedure, private, pass(self) :: join_characters
procedure, private, nopass :: strjoin_strings
procedure, private, nopass :: strjoin_characters
procedure, private, nopass :: strjoin_strings_array
procedure, private, nopass :: strjoin_characters_array
procedure, private, pass(self) :: to_integer_I1P
procedure, private, pass(self) :: to_integer_I2P
procedure, private, pass(self) :: to_integer_I4P
procedure, private, pass(self) :: to_integer_I8P
procedure, private, pass(self) :: to_real_R4P
procedure, private, pass(self) :: to_real_R8P
procedure, private, pass(self) :: to_real_R16P
procedure, private, pass(lhs) :: string_assign_string
procedure, private, pass(lhs) :: string_assign_character
procedure, private, pass(lhs) :: string_assign_integer_I1P
procedure, private, pass(lhs) :: string_assign_integer_I2P
procedure, private, pass(lhs) :: string_assign_integer_I4P
procedure, private, pass(lhs) :: string_assign_integer_I8P
procedure, private, pass(lhs) :: string_assign_real_R4P
procedure, private, pass(lhs) :: string_assign_real_R8P
procedure, private, pass(lhs) :: string_assign_real_R16P
procedure, private, pass(lhs) :: string_concat_string
procedure, private, pass(lhs) :: string_concat_character
procedure, private, pass(rhs) :: character_concat_string
procedure, private, pass(lhs) :: string_concat_string_string
procedure, private, pass(lhs) :: string_concat_character_string
procedure, private, pass(rhs) :: character_concat_string_string
procedure, private, pass(lhs) :: string_eq_string
procedure, private, pass(lhs) :: string_eq_character
procedure, private, pass(rhs) :: character_eq_string
procedure, private, pass(lhs) :: string_ne_string
procedure, private, pass(lhs) :: string_ne_character
procedure, private, pass(rhs) :: character_ne_string
procedure, private, pass(lhs) :: string_lt_string
procedure, private, pass(lhs) :: string_lt_character
procedure, private, pass(rhs) :: character_lt_string
procedure, private, pass(lhs) :: string_le_string
procedure, private, pass(lhs) :: string_le_character
procedure, private, pass(rhs) :: character_le_string
procedure, private, pass(lhs) :: string_ge_string
procedure, private, pass(lhs) :: string_ge_character
procedure, private, pass(rhs) :: character_ge_string
procedure, private, pass(lhs) :: string_gt_string
procedure, private, pass(lhs) :: string_gt_character
procedure, private, pass(rhs) :: character_gt_string
procedure, private, pass(dtv) :: read_formatted
procedure, private, pass(dtv) :: read_delimited
procedure, private, pass(dtv) :: read_undelimited
procedure, private, pass(dtv) :: read_undelimited_listdirected
procedure, private, pass(dtv) :: write_formatted
procedure, private, pass(dtv) :: read_unformatted
procedure, private, pass(dtv) :: write_unformatted
procedure, private, pass(self) :: replace_one_occurrence

Functions

private pure function string_(c)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: c

Return Value type(string)

private pure function sadjustl_character(s) result(adjusted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: s

Return Value character(kind=CK,len=:),allocatable

private pure function sadjustr_character(s) result(adjusted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: s

Return Value character(kind=CK,len=:),allocatable

private elemental function count_substring(s, substring) result(No)

Arguments

TypeIntentOptionalAttributesName
character, intent(in) :: s
character, intent(in) :: substring

Return Value integer(kind=I4P)

private elemental function sindex_character_string(s, substring, back) result(i)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: s
type(string), intent(in) :: substring
logical, intent(in), optional :: back

Return Value integer

private elemental function sscan_character_string(s, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: s
type(string), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function sverify_character_string(s, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: s
type(string), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function sadjustl(self) result(adjusted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private elemental function sadjustr(self) result(adjusted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private elemental function scount(self, substring, ignore_isolated) result(No)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character, intent(in) :: substring
logical, intent(in), optional :: ignore_isolated

Return Value integer

private elemental function sindex_string_string(self, substring, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(in) :: substring
logical, intent(in), optional :: back

Return Value integer

private elemental function sindex_string_character(self, substring, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: substring
logical, intent(in), optional :: back

Return Value integer

private elemental function slen(self) result(l)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value integer

private elemental function slen_trim(self) result(l)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value integer

private elemental function srepeat_string_string(self, ncopies) result(repeated)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer, intent(in) :: ncopies

Return Value type(string)

private elemental function srepeat_character_string(rstring, ncopies) result(repeated)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: rstring
integer, intent(in) :: ncopies

Return Value type(string)

private elemental function sscan_string_string(self, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function sscan_string_character(self, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function strim(self) result(trimmed)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private elemental function sverify_string_string(self, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function sverify_string_character(self, set, back) result(i)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: set
logical, intent(in), optional :: back

Return Value integer

private elemental function basedir(self, sep)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private elemental function basename(self, sep, extension, strip_last_extension)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep
character(kind=CK,len=*), intent(in), optional :: extension
logical, intent(in), optional :: strip_last_extension

Return Value type(string)

private elemental function camelcase(self, sep)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private elemental function capitalize(self) result(capitalized)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private pure function chars(self) result(raw)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value character(kind=CK,len=:),allocatable

private pure function colorize_str(self, color_fg, color_bg, style) result(colorized)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(len=*), intent(in), optional :: color_fg
character(len=*), intent(in), optional :: color_bg
character(len=*), intent(in), optional :: style

Return Value character(len=:),allocatable

private elemental function decode(self, codec) result(decoded)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: codec

Return Value type(string)

private elemental function encode(self, codec) result(encoded)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: codec

Return Value type(string)

private elemental function escape(self, to_escape, esc) result(escaped)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=1), intent(in) :: to_escape
character(kind=CK,len=*), intent(in), optional :: esc

Return Value type(string)

private elemental function extension(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private elemental function fill(self, width, right, filling_char) result(filled)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer, intent(in) :: width
logical, intent(in), optional :: right
character(kind=CK,len=1), intent(in), optional :: filling_char

Return Value type(string)

private elemental function insert_character(self, substring, pos) result(inserted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(len=*), intent(in) :: substring
integer, intent(in) :: pos

Return Value type(string)

private elemental function insert_string(self, substring, pos) result(inserted)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(in) :: substring
integer, intent(in) :: pos

Return Value type(string)

private pure function join_strings(self, array, sep) result(join)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(in) :: array(1:)
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private pure function join_characters(self, array, sep) result(join)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: array(1:)
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private pure function strjoin_strings(array, sep) result(join)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: array(1:)
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private pure function strjoin_characters(array, sep, is_trim) result(join)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: array(1:)
character(kind=CK,len=*), intent(in), optional :: sep
logical, intent(in), optional :: is_trim

Return Value type(string)

private pure function strjoin_strings_array(array, sep, is_col) result(join)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: array(1:,1:)
character(kind=CK,len=*), intent(in), optional :: sep
logical, intent(in), optional :: is_col

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

private pure function strjoin_characters_array(array, sep, is_trim, is_col) result(join)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: array(1:,1:)
character(kind=CK,len=*), intent(in), optional :: sep
logical, intent(in), optional :: is_trim
logical, intent(in), optional :: is_col

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

private elemental function lower(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private pure function partition(self, sep) result(partitions)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)(1:3)

private elemental function replace(self, old, new, count) result(replaced)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: old
character(kind=CK,len=*), intent(in) :: new
integer, intent(in), optional :: count

Return Value type(string)

private elemental function reverse(self) result(reversed)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private function search(self, tag_start, tag_end, in_string, in_character, istart, iend) result(tag)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: tag_start
character(kind=CK,len=*), intent(in) :: tag_end
type(string), intent(in), optional :: in_string
character(kind=CK,len=*), intent(in), optional :: in_character
integer, intent(out), optional :: istart
integer, intent(out), optional :: iend

Return Value type(string)

private pure function slice(self, istart, iend) result(raw)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer, intent(in) :: istart
integer, intent(in) :: iend

Return Value character(kind=CK,len=:),allocatable

private elemental function snakecase(self, sep)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private elemental function startcase(self, sep)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: sep

Return Value type(string)

private elemental function strip(self, remove_nulls)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
logical, intent(in), optional :: remove_nulls

Return Value type(string)

private elemental function swapcase(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private function tempname(self, is_file, prefix, path)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
logical, intent(in), optional :: is_file
character, intent(in), optional :: prefix
character, intent(in), optional :: path

Return Value character(len=:),allocatable

private elemental function to_integer_I1P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer(kind=I1P), intent(in) :: kind

Return Value integer(kind=I1P)

private elemental function to_integer_I2P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer(kind=I2P), intent(in) :: kind

Return Value integer(kind=I2P)

private elemental function to_integer_I4P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer(kind=I4P), intent(in) :: kind

Return Value integer(kind=I4P)

private elemental function to_integer_I8P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer(kind=I8P), intent(in) :: kind

Return Value integer(kind=I8P)

private elemental function to_real_R4P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
real(kind=R4P), intent(in) :: kind

Return Value real(kind=R4P)

private elemental function to_real_R8P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
real(kind=R8P), intent(in) :: kind

Return Value real(kind=R8P)

private elemental function to_real_R16P(self, kind) result(to_number)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
real(kind=R16P), intent(in) :: kind

Return Value real(kind=R16P)

private elemental function unescape(self, to_unescape, unesc) result(unescaped)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=1), intent(in) :: to_unescape
character(kind=CK,len=*), intent(in), optional :: unesc

Return Value type(string)

private elemental function unique(self, substring) result(uniq)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in), optional :: substring

Return Value type(string)

private elemental function upper(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value type(string)

private elemental function end_with(self, suffix, start, end, ignore_null_eof)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: suffix
integer, intent(in), optional :: start
integer, intent(in), optional :: end
logical, intent(in), optional :: ignore_null_eof

Return Value logical

private elemental function is_allocated(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value logical

private elemental function is_digit(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value logical

private elemental function is_integer(self, allow_spaces)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
logical, intent(in), optional :: allow_spaces

Return Value logical

private elemental function is_lower(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value logical

private elemental function is_number(self, allow_spaces)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
logical, intent(in), optional :: allow_spaces

Return Value logical

private elemental function is_real(self, allow_spaces)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
logical, intent(in), optional :: allow_spaces

Return Value logical

private elemental function is_upper(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self

Return Value logical

private elemental function start_with(self, prefix, start, end)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: prefix
integer, intent(in), optional :: start
integer, intent(in), optional :: end

Return Value logical

private pure function string_concat_string(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value character(kind=CK,len=:),allocatable

private pure function string_concat_character(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value character(kind=CK,len=:),allocatable

private pure function character_concat_string(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value character(kind=CK,len=:),allocatable

private elemental function string_concat_string_string(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value type(string)

private elemental function string_concat_character_string(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value type(string)

private elemental function character_concat_string_string(lhs, rhs) result(concat)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value type(string)

private elemental function string_eq_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_eq_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_eq_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function string_ne_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_ne_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_ne_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function string_lt_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_lt_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_lt_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function string_le_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_le_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_le_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function string_ge_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_ge_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_ge_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function string_gt_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
type(string), intent(in) :: rhs

Return Value logical

private elemental function string_gt_character(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

Return Value logical

private elemental function character_gt_string(lhs, rhs) result(is_it)

Arguments

TypeIntentOptionalAttributesName
character(kind=CK,len=*), intent(in) :: lhs
class(string), intent(in) :: rhs

Return Value logical

private elemental function replace_one_occurrence(self, old, new) result(replaced)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(kind=CK,len=*), intent(in) :: old
character(kind=CK,len=*), intent(in) :: new

Return Value type(string)


Subroutines

private elemental subroutine free(self)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: self

private subroutine glob_character(self, pattern, list)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character, intent(in) :: pattern
character(len=:), intent(out), allocatable:: list(:)

private subroutine glob_string(self, pattern, list)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character, intent(in) :: pattern
type(string), intent(out), allocatable:: list(:)

private subroutine read_file(self, file, is_fast, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: self
character(len=*), intent(in) :: file
logical, intent(in), optional :: is_fast
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private subroutine read_line(self, unit, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: self
integer, intent(in) :: unit
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private subroutine read_lines(self, unit, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: self
integer, intent(in) :: unit
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private pure subroutine split(self, tokens, sep, max_tokens)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(out), allocatable:: tokens(:)
character(kind=CK,len=*), intent(in), optional :: sep
integer, intent(in), optional :: max_tokens

private pure subroutine split_chunked(self, tokens, chunks, sep)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
type(string), intent(out), allocatable:: tokens(:)
integer, intent(in) :: chunks
character(kind=CK,len=*), intent(in), optional :: sep

private subroutine write_file(self, file, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
character(len=*), intent(in) :: file
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private subroutine write_line(self, unit, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer, intent(in) :: unit
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private subroutine write_lines(self, unit, form, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: self
integer, intent(in) :: unit
character(len=*), intent(in), optional :: form
integer, intent(out), optional :: iostat
character(len=*), intent(inout), optional :: iomsg

private pure subroutine string_assign_string(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
type(string), intent(in) :: rhs

private pure subroutine string_assign_character(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
character(kind=CK,len=*), intent(in) :: rhs

private pure subroutine string_assign_integer_I1P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
integer(kind=I1P), intent(in) :: rhs

private pure subroutine string_assign_integer_I2P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
integer(kind=I2P), intent(in) :: rhs

private pure subroutine string_assign_integer_I4P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
integer(kind=I4P), intent(in) :: rhs

private pure subroutine string_assign_integer_I8P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
integer(kind=I8P), intent(in) :: rhs

private pure subroutine string_assign_real_R4P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
real(kind=R4P), intent(in) :: rhs

private pure subroutine string_assign_real_R8P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
real(kind=R8P), intent(in) :: rhs

private pure subroutine string_assign_real_R16P(lhs, rhs)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: lhs
real(kind=R16P), intent(in) :: rhs

private subroutine read_formatted(dtv, unit, iotype, v_list, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: dtv
integer, intent(in) :: unit
character(len=*), intent(in) :: iotype
integer, intent(in) :: v_list(:)
integer, intent(out) :: iostat
character(len=*), intent(inout) :: iomsg

private subroutine read_delimited(dtv, unit, delim, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(out) :: dtv
integer, intent(in) :: unit
character(kind=CK,len=1), intent(in) :: delim
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine read_undelimited_listdirected(dtv, unit, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: dtv
integer, intent(in) :: unit
integer, intent(out) :: iostat
character(len=*), intent(inout) :: iomsg

private subroutine read_undelimited(dtv, unit, terminators, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: dtv
integer, intent(in) :: unit
character(kind=CK,len=*), intent(in) :: terminators
integer, intent(out) :: iostat
character(len=*), intent(inout) :: iomsg

private subroutine write_formatted(dtv, unit, iotype, v_list, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: dtv
integer, intent(in) :: unit
character(kind=CK,len=*), intent(in) :: iotype
integer, intent(in) :: v_list(:)
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine read_unformatted(dtv, unit, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(inout) :: dtv
integer, intent(in) :: unit
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine write_unformatted(dtv, unit, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
class(string), intent(in) :: dtv
integer, intent(in) :: unit
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine get_delimiter_mode(unit, delim, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: unit
character(kind=CK,len=1), intent(out) :: delim
integer, intent(out) :: iostat
character, intent(inout) :: iomsg

private subroutine get_next_non_blank_character_this_record(unit, ch, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: unit
character(kind=CK,len=1), intent(out) :: ch
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine get_next_non_blank_character_any_record(unit, ch, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: unit
character(kind=CK,len=1), intent(out) :: ch
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg

private subroutine get_decimal_mode(unit, decimal_point, iostat, iomsg)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: unit
logical, intent(out) :: decimal_point
integer, intent(out) :: iostat
character(kind=CK,len=*), intent(inout) :: iomsg