stringlist_type 派生类型

type, public :: stringlist_type


构造函数

public interface stringlist_type

stringlist 的构造函数 返回 stringlist_type 类型的实例 规范

  • private pure function new_stringlist()

    无参数的构造函数 返回 stringlist 类型的新的实例

    参数

    返回值 type(stringlist_type)

  • private pure function new_stringlist_carray(array)

    将字符数组转换为 stringlist 的构造函数 返回 stringlist 类型的新的实例

    参数

    类型 意图可选 属性 名称
    character(len=*), intent(in), dimension(:) :: array

    返回值 type(stringlist_type)

  • private pure function new_stringlist_sarray(array)

    将字符串数组转换为 stringlist 的构造函数 返回 stringlist 类型的新的实例

    参数

    类型 意图可选 属性 名称
    type(string_type), intent(in), dimension(:) :: array

    返回值 type(stringlist_type)


类型绑定过程

procedure, public :: clear => clear_list

  • private subroutine clear_list(list)

    将 stringlist 'list' 重置为长度为 0 的空 stringlist 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list

generic, public :: get => get_string_idx

  • private pure function get_string_idx_wrap(list, idx)

    返回 stringlist 'list' 中 stringlist_index 'idx' 处存在的字符串 返回 string_type 实例

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(in) :: list
    type(stringlist_index_type), intent(in) :: idx

    返回值 type(string_type)

generic, public :: insert_at => insert_at_char_idx, insert_at_string_idx, insert_at_stringlist_idx, insert_at_chararray_idx, insert_at_stringarray_idx

  • private subroutine insert_at_char_idx_wrap(list, idx, string)

    在 stringlist 'list' 中的 stringlist_index 'idx' 处插入字符标量 'string' 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list
    type(stringlist_index_type), intent(in) :: idx
    character(len=*), intent(in) :: string
  • private subroutine insert_at_string_idx_wrap(list, idx, string)

    在 stringlist 'list' 中的 stringlist_index 'idx' 处插入字符串 'string' 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list
    type(stringlist_index_type), intent(in) :: idx
    type(string_type), intent(in) :: string
  • private subroutine insert_at_stringlist_idx_wrap(list, idx, slist)

    在 stringlist 'list' 中的 stringlist_index 'idx' 处插入 stringlist 'slist' 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list
    type(stringlist_index_type), intent(in) :: idx
    type(stringlist_type), intent(in) :: slist
  • private subroutine insert_at_chararray_idx_wrap(list, idx, carray)

    在 stringlist 'list' 中的 stringlist_index 'idx' 处插入字符数组 'carray' 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list
    type(stringlist_index_type), intent(in) :: idx
    character(len=*), intent(in), dimension(:) :: carray
  • private subroutine insert_at_stringarray_idx_wrap(list, idx, sarray)

    在 stringlist 'list' 中的 stringlist_index 'idx' 处插入字符串数组 'sarray' 修改输入的 stringlist 'list'

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(inout) :: list
    type(stringlist_index_type), intent(in) :: idx
    type(string_type), intent(in), dimension(:) :: sarray

procedure, public :: len => length_list

  • private pure function length_list(list)

    返回列表的长度 (长度) 返回整数

    参数

    类型 意图可选 属性 名称
    class(stringlist_type), intent(in) :: list

    返回值 integer

源代码

    type stringlist_type
        private
        type(string_type), dimension(:), allocatable :: stringarray
    
    contains
        private

        procedure, public :: clear                          =>  clear_list

        procedure, public :: len                            =>  length_list

        procedure         :: to_future_at_idxn              =>  convert_to_future_at_idxn

        procedure         :: to_current_idxn                =>  convert_to_current_idxn

        procedure         :: insert_at_char_idx             =>  insert_at_char_idx_wrap
        procedure         :: insert_at_string_idx           =>  insert_at_string_idx_wrap
        procedure         :: insert_at_stringlist_idx       =>  insert_at_stringlist_idx_wrap
        procedure         :: insert_at_chararray_idx        =>  insert_at_chararray_idx_wrap
        procedure         :: insert_at_stringarray_idx      =>  insert_at_stringarray_idx_wrap
        generic, public   :: insert_at                      =>  insert_at_char_idx,         &
                                                                insert_at_string_idx,       &
                                                                insert_at_stringlist_idx,   &
                                                                insert_at_chararray_idx,    &
                                                                insert_at_stringarray_idx

        procedure         :: insert_before_string_int       =>  insert_before_string_int_impl
        procedure         :: insert_before_stringlist_int   =>  insert_before_stringlist_int_impl
        procedure         :: insert_before_chararray_int    =>  insert_before_chararray_int_impl
        procedure         :: insert_before_stringarray_int  =>  insert_before_stringarray_int_impl
        generic           :: insert_before                  =>  insert_before_string_int,       &
                                                                insert_before_stringlist_int,   &
                                                                insert_before_chararray_int,    &
                                                                insert_before_stringarray_int

        procedure         :: get_string_idx         => get_string_idx_wrap
        generic, public   :: get                    => get_string_idx

    end type stringlist_type