string_type Derived Type

type, public :: string_type
sequence

String type holding an arbitrary sequence of characters.


Contents

Source Code


Constructor

public interface string_type

Constructor for new string instances

  • private elemental function new_string(string) result(new)

    Constructor for new string instances from a scalar character value.

    Arguments

    Type IntentOptional AttributesName
    character(len=*), intent(in), optional :: string

    Return Value type(string_type)

  • private elemental function new_string_from_integer_int8(val) result(new)

    Constructor for new string instances from an integer of kind int8.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int8), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_logical_int8(val) result(new)

    Constructor for new string instances from a logical of kind int8.

    Arguments

    Type IntentOptional AttributesName
    logical(kind=int8), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_integer_int16(val) result(new)

    Constructor for new string instances from an integer of kind int16.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int16), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_logical_int16(val) result(new)

    Constructor for new string instances from a logical of kind int16.

    Arguments

    Type IntentOptional AttributesName
    logical(kind=int16), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_integer_int32(val) result(new)

    Constructor for new string instances from an integer of kind int32.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int32), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_logical_int32(val) result(new)

    Constructor for new string instances from a logical of kind int32.

    Arguments

    Type IntentOptional AttributesName
    logical(kind=int32), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_integer_int64(val) result(new)

    Constructor for new string instances from an integer of kind int64.

    Arguments

    Type IntentOptional AttributesName
    integer(kind=int64), intent(in) :: val

    Return Value type(string_type)

  • private elemental function new_string_from_logical_int64(val) result(new)

    Constructor for new string instances from a logical of kind int64.

    Arguments

    Type IntentOptional AttributesName
    logical(kind=int64), intent(in) :: val

    Return Value type(string_type)


Source Code

    type :: string_type
        ! Use the sequence statement below as a hack to prevent extending this type.
        ! It is not used for storage association.
        sequence
        private
        character(len=:), allocatable :: raw
    end type string_type