string_t Derived Type

type, public, extends(characterizable_t) :: string_t


Inherits

type~~string_t~~InheritsGraph type~string_t string_t characterizable_t characterizable_t type~string_t->characterizable_t

Inherited by

type~~string_t~~InheritedByGraph type~string_t string_t type~file_t file_t type~file_t->type~string_t lines_ type~test_description_t test_description_t type~test_description_t->type~string_t description_ type~test_result_t test_result_t type~test_result_t->type~string_t description_ type~vector_test_description_t vector_test_description_t type~vector_test_description_t->type~string_t description_vector_

Components

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

Constructor

public interface string_t

  • private elemental module function construct(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_integer(i) result(string)

    Arguments

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

    Return Value type(string_t)

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

    Arguments

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

    Return Value type(string_t)


Type-Bound Procedures

procedure, public :: as_character

  • 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

generic, public :: assignment(= ) => assign_string_t_to_character, assign_character_to_string_t

procedure, public :: base_name

  • 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)

procedure, public :: file_extension

  • 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)

procedure, public :: get_json_key

  • 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)

procedure, public :: is_allocated

  • 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

generic, public :: string => as_character

procedure, private :: assign_character_to_string_t

  • interface

    private pure 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

procedure, private, pass(rhs) :: assign_string_t_to_character

  • 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

procedure, private, pass(rhs) :: character_cat_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)

procedure, private, pass(rhs) :: character_eq_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

procedure, private, pass(rhs) :: character_ne_string_t

  • 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

procedure, private :: get_json_integer

  • interface

    private pure module function get_json_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

procedure, private :: get_json_integer_array

  • interface

    private pure module function get_json_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, (:)

procedure, private :: get_json_logical

  • interface

    private elemental module function get_json_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

procedure, private :: get_json_real

  • interface

    private pure module function get_json_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

procedure, private :: get_json_real_array

  • interface

    private pure module function get_json_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, (:)

procedure, private :: get_json_string

  • interface

    private elemental module function get_json_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)

procedure, private :: string_t_cat_character

  • 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)

procedure, private :: string_t_cat_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)

procedure, private :: string_t_eq_character

  • 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

procedure, private :: string_t_eq_string_t

  • 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

procedure, private :: string_t_ne_character

  • 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

procedure, private :: string_t_ne_string_t

  • 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