julienne_string_m Module


Uses

  • module~~julienne_string_m~~UsesGraph module~julienne_string_m julienne_string_m iso_c_binding iso_c_binding module~julienne_string_m->iso_c_binding

Used by

  • module~~julienne_string_m~~UsedByGraph module~julienne_string_m julienne_string_m module~julienne_file_m julienne_file_m module~julienne_file_m->module~julienne_string_m module~julienne_m julienne_m module~julienne_m->module~julienne_string_m module~julienne_m->module~julienne_file_m module~julienne_test_description_m julienne_test_description_m module~julienne_m->module~julienne_test_description_m module~julienne_test_diagnosis_m julienne_test_diagnosis_m module~julienne_m->module~julienne_test_diagnosis_m module~julienne_test_result_m julienne_test_result_m module~julienne_m->module~julienne_test_result_m module~julienne_vector_test_description_m julienne_vector_test_description_m module~julienne_m->module~julienne_vector_test_description_m module~julienne_test_m julienne_test_m module~julienne_m->module~julienne_test_m module~julienne_string_s julienne_string_s module~julienne_string_s->module~julienne_string_m module~julienne_test_description_m->module~julienne_string_m module~julienne_test_description_m->module~julienne_test_diagnosis_m module~julienne_test_description_m->module~julienne_test_result_m module~julienne_test_diagnosis_m->module~julienne_string_m module~julienne_test_diagnosis_s julienne_test_diagnosis_s module~julienne_test_diagnosis_s->module~julienne_string_m module~julienne_test_diagnosis_s->module~julienne_test_diagnosis_m module~julienne_test_result_m->module~julienne_string_m module~julienne_test_result_m->module~julienne_test_diagnosis_m module~julienne_vector_test_description_m->module~julienne_string_m module~julienne_vector_test_description_m->module~julienne_test_diagnosis_m module~julienne_vector_test_description_m->module~julienne_test_result_m program~create_markdown_table create_markdown_table program~create_markdown_table->module~julienne_string_m module~julienne_file_s julienne_file_s module~julienne_file_s->module~julienne_file_m module~julienne_test_description_s julienne_test_description_s module~julienne_test_description_s->module~julienne_test_description_m module~julienne_test_m->module~julienne_test_result_m module~julienne_test_result_s julienne_test_result_s module~julienne_test_result_s->module~julienne_test_result_m module~julienne_vector_test_description_s julienne_vector_test_description_s module~julienne_vector_test_description_s->module~julienne_vector_test_description_m program~assertions assertions program~assertions->module~julienne_m program~check_for_command_line_argument check_for_command_line_argument program~check_for_command_line_argument->module~julienne_m program~get_command_line_flag_value get_command_line_flag_value program~get_command_line_flag_value->module~julienne_m module~julienne_test_s julienne_test_s module~julienne_test_s->module~julienne_test_m

Interfaces

interface

  • public pure module function array_of_strings(delimited_strings, delimiter) result(strings_array)

    Arguments

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

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

public interface operator(.cat.)

  • private pure module function concatenate_elements(strings) result(concatenated_strings)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)

    Return Value type(string_t)

public interface operator(.csv.)

  • private pure module function characters_with_comma_separator(strings) result(csv)

    Arguments

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

    Return Value type(string_t)

  • private pure module function strings_with_comma_separator(strings) result(csv)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)

    Return Value type(string_t)

public interface operator(.separatedBy.)

  • private pure module function strings_with_character_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)
    character(len=*), intent(in) :: separator

    Return Value type(string_t)

  • private pure module function strings_with_string_t_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)
    type(string_t), intent(in) :: separator

    Return Value type(string_t)

  • private pure module function characters_with_character_separator(strings, separator) result(sv)

    Arguments

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

    Return Value type(string_t)

  • private pure module function characters_with_string_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: strings(:)
    type(string_t), intent(in) :: separator

    Return Value type(string_t)

public interface operator(.sv.)

  • private pure module function characters_with_character_separator(strings, separator) result(sv)

    Arguments

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

    Return Value type(string_t)

  • private pure module function characters_with_string_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: strings(:)
    type(string_t), intent(in) :: separator

    Return Value type(string_t)

  • private pure module function strings_with_character_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)
    character(len=*), intent(in) :: separator

    Return Value type(string_t)

  • private pure module function strings_with_string_t_separator(strings, separator) result(sv)

    Arguments

    Type IntentOptional Attributes Name
    type(string_t), intent(in) :: strings(:)
    type(string_t), intent(in) :: separator

    Return Value type(string_t)

public interface string_t

  • private elemental module function from_characters(string) result(new_string)

    Arguments

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

    Return Value type(string_t)

  • private elemental module function from_default_complex(z) result(string)

    Arguments

    Type IntentOptional Attributes Name
    complex, intent(in) :: z

    Return Value type(string_t)

  • private elemental module function from_default_integer(i) result(string)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: i

    Return Value type(string_t)

  • private elemental module function from_default_logical(b) result(string)

    Arguments

    Type IntentOptional Attributes Name
    logical, intent(in) :: b

    Return Value type(string_t)

  • private elemental module function from_default_real(x) result(string)

    Arguments

    Type IntentOptional Attributes Name
    real, intent(in) :: x

    Return Value type(string_t)

  • private elemental module function from_double_precision(x) result(string)

    Arguments

    Type IntentOptional Attributes Name
    double precision, intent(in) :: x

    Return Value type(string_t)

  • private elemental module function from_double_precision_complex(z) result(string)

    Arguments

    Type IntentOptional Attributes Name
    complex(kind=kind(1D0)), intent(in) :: z

    Return Value type(string_t)

  • private elemental module function from_logical_c_bool(b) result(string)

    Arguments

    Type IntentOptional Attributes Name
    logical(kind=c_bool), intent(in) :: b

    Return Value type(string_t)

interface

  • private pure module function as_character(self) result(raw_string)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self

    Return Value character(len=:), allocatable

interface

  • private elemental module subroutine assign_character_to_string_t(lhs, rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(inout) :: lhs
    character(len=*), intent(in) :: rhs

interface

  • private pure module subroutine assign_string_t_to_character(lhs, rhs)

    Arguments

    Type IntentOptional Attributes Name
    character(len=:), intent(out), allocatable :: lhs
    class(string_t), intent(in) :: rhs

interface

  • private pure module function base_name(self) result(base)

    result contains all characters in file_name before the last dot (.)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self

    Return Value type(string_t)

interface

  • private elemental module function bracket(self, opening, closing) result(bracketed_self)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in), optional :: opening
    character(len=*), intent(in), optional :: closing

    Return Value type(string_t)

interface

  • private pure module function character_cat_string_t(lhs, rhs) result(lhs_cat_rhs)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value type(string_t)

interface

  • private elemental module function character_eq_string_t(lhs, rhs) result(lhs_eq_rhs)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function character_ne_string_t(lhs, rhs) result(lhs_ne_rhs)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function file_extension(self) result(extension)

    result contains all characters in file_name after the last dot (.)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self

    Return Value type(string_t)

interface

  • private pure module function get_character(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    character(len=*), intent(in) :: mold

    Return Value character(len=:), allocatable

interface

  • private pure module function get_character_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    character(len=*), intent(in) :: mold

    Return Value character(len=:), allocatable

interface

  • private pure module function get_double_precision(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    double precision, intent(in) :: mold

    Return Value double precision

interface

  • private pure module function get_double_precision_array(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    double precision, intent(in) :: mold(:)

    Return Value double precision, allocatable, (:)

interface

  • private pure module function get_double_precision_array_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    double precision, intent(in) :: mold(:)

    Return Value double precision, allocatable, (:)

interface

  • private pure module function get_double_precision_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    double precision, intent(in) :: mold

    Return Value double precision

interface

  • private pure module function get_integer(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    integer, intent(in) :: mold

    Return Value integer

interface

  • private pure module function get_integer_array(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    integer, intent(in) :: mold(:)

    Return Value integer, allocatable, (:)

interface

  • private pure module function get_integer_array_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    integer, intent(in) :: mold(:)

    Return Value integer, allocatable, (:)

interface

  • private pure module function get_integer_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    integer, intent(in) :: mold

    Return Value integer

interface

  • private elemental module function get_json_key(self) result(unquoted_key)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self

    Return Value type(string_t)

interface

  • private elemental module function get_logical(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    logical, intent(in) :: mold

    Return Value logical

interface

  • private pure module function get_logical_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    logical, intent(in) :: mold

    Return Value logical

interface

  • private pure module function get_real(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    real, intent(in) :: mold

    Return Value real

interface

  • private pure module function get_real_array(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    real, intent(in) :: mold(:)

    Return Value real, allocatable, (:)

interface

  • private pure module function get_real_array_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    real, intent(in) :: mold(:)

    Return Value real, allocatable, (:)

interface

  • private pure module function get_real_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    real, intent(in) :: mold

    Return Value real

interface

  • private elemental module function get_string(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    class(string_t), intent(in) :: key
    class(string_t), intent(in) :: mold

    Return Value type(string_t)

interface

  • private pure module function get_string_t_array_with_character_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    character(len=*), intent(in) :: key
    type(string_t), intent(in) :: mold(:)

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

interface

  • private pure module function get_string_t_array_with_string_t_key(self, key, mold) result(value_)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self
    type(string_t), intent(in) :: key
    type(string_t), intent(in) :: mold(:)

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

interface

  • private elemental module function is_allocated(self) result(string_allocated)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: self

    Return Value logical

interface

  • private pure module function string_t_cat_character(lhs, rhs) result(lhs_cat_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    character(len=*), intent(in) :: rhs

    Return Value type(string_t)

interface

  • private pure module function string_t_cat_string_t(lhs, rhs) result(lhs_cat_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value type(string_t)

interface

  • private elemental module function string_t_eq_character(lhs, rhs) result(lhs_eq_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    character(len=*), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function string_t_eq_string_t(lhs, rhs) result(lhs_eq_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function string_t_ne_character(lhs, rhs) result(lhs_ne_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    character(len=*), intent(in) :: rhs

    Return Value logical

interface

  • private elemental module function string_t_ne_string_t(lhs, rhs) result(lhs_ne_rhs)

    Arguments

    Type IntentOptional Attributes Name
    class(string_t), intent(in) :: lhs
    class(string_t), intent(in) :: rhs

    Return Value logical


Derived Types

type, public ::  string_t

Components

Type Visibility Attributes Name Initial
character(len=:), private, allocatable :: string_

Constructor

private elemental, module function from_characters (string)
private elemental, module function from_default_complex (z)
private elemental, module function from_default_integer (i)
private elemental, module function from_default_logical (b)
private elemental, module function from_default_real (x)
private elemental, module function from_double_precision (x)
private elemental, module function from_double_precision_complex (z)
private elemental, module function from_logical_c_bool (b)

Type-Bound Procedures

procedure, public :: as_character
generic, public :: assignment(= ) => assign_string_t_to_character, assign_character_to_string_t
procedure, public :: base_name
procedure, public :: bracket
procedure, public :: file_extension
procedure, public :: get_json_key
generic, public :: get_json_value => get_string, get_string_t_array_with_character_key, get_string_t_array_with_string_t_key, get_real, get_real_with_character_key, get_character, get_character_with_character_key, get_logical, get_logical_with_character_key, get_real_array, get_real_array_with_character_key, get_integer_array, get_integer_array_with_character_key, get_integer, get_integer_with_character_key, get_double_precision, get_double_precision_with_character_key, get_double_precision_array, get_double_precision_array_with_character_key
procedure, public :: is_allocated
generic, public :: operator(//) => string_t_cat_string_t, string_t_cat_character, character_cat_string_t
generic, public :: operator(/=) => string_t_ne_string_t, string_t_ne_character, character_ne_string_t
generic, public :: operator(==) => string_t_eq_string_t, string_t_eq_character, character_eq_string_t
generic, public :: string => as_character
procedure, private :: assign_character_to_string_t
procedure, private, pass(rhs) :: assign_string_t_to_character
procedure, private, pass(rhs) :: character_cat_string_t
procedure, private, pass(rhs) :: character_eq_string_t
procedure, private, pass(rhs) :: character_ne_string_t
procedure, private :: get_character
procedure, private :: get_character_with_character_key
procedure, private :: get_double_precision
procedure, private :: get_double_precision_array
procedure, private :: get_double_precision_array_with_character_key
procedure, private :: get_double_precision_with_character_key
procedure, private :: get_integer
procedure, private :: get_integer_array
procedure, private :: get_integer_array_with_character_key
procedure, private :: get_integer_with_character_key
procedure, private :: get_logical
procedure, private :: get_logical_with_character_key
procedure, private :: get_real
procedure, private :: get_real_array
procedure, private :: get_real_array_with_character_key
procedure, private :: get_real_with_character_key
procedure, private :: get_string
procedure, private :: get_string_t_array_with_character_key
procedure, private :: get_string_t_array_with_string_t_key
procedure, private :: string_t_cat_character
procedure, private :: string_t_cat_string_t
procedure, private :: string_t_eq_character
procedure, private :: string_t_eq_string_t
procedure, private :: string_t_ne_character
procedure, private :: string_t_ne_string_t