VarSpecVector Derived Type

type, public :: VarSpecVector


Inherits

type~~varspecvector~~InheritsGraph type~varspecvector VarSpecVector type~vector_wrapper~19 vector_wrapper type~varspecvector->type~vector_wrapper~19 elements type~mapl_varspec MAPL_VarSpec type~vector_wrapper~19->type~mapl_varspec item type~mapl_varspectype MAPL_VarSpecType type~mapl_varspec->type~mapl_varspectype SpecPtr ESMF_Field ESMF_Field type~mapl_varspectype->ESMF_Field FIELD ESMF_FieldBundle ESMF_FieldBundle type~mapl_varspectype->ESMF_FieldBundle BUNDLE ESMF_Grid ESMF_Grid type~mapl_varspectype->ESMF_Grid GRID ESMF_State ESMF_State type~mapl_varspectype->ESMF_State STATE type~fieldspec FieldSpec type~mapl_varspectype->type~fieldspec field_spec

Inherited by

type~~varspecvector~~InheritedByGraph type~varspecvector VarSpecVector type~statespecification StateSpecification type~statespecification->type~varspecvector var_specs type~componentspecification ComponentSpecification type~componentspecification->type~statespecification import, export, internal, forcing type~baseframeworkcomponent BaseFrameworkComponent type~baseframeworkcomponent->type~componentspecification component_spec type~maplgenericcomponent MaplGenericComponent type~maplgenericcomponent->type~baseframeworkcomponent

Constructor

public interface VarSpecVector

  • private function vector_new_vector_empty() result(v)

    Arguments

    None

    Return Value type(VarSpecVector)

  • private function vector_new_vector_fill_size_kind(n, value) result(v)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=GFTL_SIZE_KIND), intent(in) :: n
    type(MAPL_VarSpec), intent(in), optional :: value

    Return Value type(VarSpecVector)

  • private function vector_new_vector_fill_default(n, value) result(v)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    type(MAPL_VarSpec), intent(in), optional :: value

    Return Value type(VarSpecVector)

  • private function vector_new_vector_range(first, last) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: first
    type(VarSpecVectorIterator), intent(in) :: last

    Return Value type(VarSpecVector)

  • private function vector_new_vector_copy(x) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVector) :: x

    Return Value type(VarSpecVector)

  • private function vector_new_vector_initializer_list(il) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(MAPL_VarSpec), intent(in), dimension(:) :: il

    Return Value type(VarSpecVector)


Type-Bound Procedures

generic, public :: assignment(=) => copy_from_array

  • private subroutine vector_copy_from_array(this, array)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    type(MAPL_VarSpec), intent(in) :: array(:)

generic, public :: at => at_default

  • private function vector_at_default(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer, intent(in) :: i
    integer, intent(out) :: rc

    Return Value type(MAPL_VarSpec), pointer

generic, public :: at => of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

generic, public :: at => at_size_kind

  • private function vector_at_size_kind(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    integer, intent(out) :: rc

    Return Value type(MAPL_VarSpec), pointer

generic, public :: at => of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: at_default => vector_at_default

  • private function vector_at_default(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer, intent(in) :: i
    integer, intent(out) :: rc

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: at_size_kind => vector_at_size_kind

  • private function vector_at_size_kind(this, i, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    integer, intent(out) :: rc

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: back => vector_back

  • private function vector_back(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: begin => vector_begin

  • private function vector_begin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VarSpecVectorIterator)

procedure, public :: capacity => vector_capacity

  • private pure function vector_capacity(this) result(capacity)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in) :: this

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: clear => vector_clear

  • private recursive subroutine vector_clear(this)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this

procedure, public :: copy_from_array => vector_copy_from_array

  • private subroutine vector_copy_from_array(this, array)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    type(MAPL_VarSpec), intent(in) :: array(:)

procedure, public :: data => vector_data

  • private function vector_data(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(MAPL_VarSpec), dimension(:), pointer

procedure, public :: empty => vector_empty

  • private pure function vector_empty(this) result(empty)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in) :: this

    Return Value logical

procedure, public :: end => vector_end

  • private function vector_end(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VarSpecVectorIterator)

generic, public :: erase => erase_one

generic, public :: erase => erase_range

procedure, public :: erase_one => vector_erase_one

procedure, public :: erase_range => vector_erase_range

procedure, public :: front => vector_front

  • private function vector_front(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: ftn_begin => vector_ftn_begin

  • private function vector_ftn_begin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VarSpecVectorIterator)

procedure, public :: ftn_end => vector_ftn_end

  • private function vector_ftn_end(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VarSpecVectorIterator)

generic, public :: insert => vector_insert_one

generic, public :: insert => vector_insert_count_size_kind

  • private recursive function vector_insert_count_size_kind(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout), target :: this
    type(VarSpecVectorIterator), intent(in) :: pos
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(MAPL_VarSpec), intent(in) :: value

    Return Value type(VarSpecVectorIterator)

generic, public :: insert => vector_insert_count_default

  • private function vector_insert_count_default(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout), target :: this
    type(VarSpecVectorIterator), intent(in) :: pos
    integer, intent(in) :: count
    type(MAPL_VarSpec), intent(in) :: value

    Return Value type(VarSpecVectorIterator)

generic, public :: insert => vector_insert_range

generic, public :: insert => vector_insert_list

procedure, public, nopass :: max_size => vector_max_size

  • private pure function vector_max_size() result(res)

    Arguments

    None

    Return Value integer(kind=GFTL_SIZE_KIND)

generic, public :: of => of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

generic, public :: of => of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: of_default => vector_of_default

  • private function vector_of_default(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: of_size_kind => vector_of_size_kind

  • private function vector_of_size_kind(this, i) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value type(MAPL_VarSpec), pointer

procedure, public :: pop_back => vector_pop_back

  • private subroutine vector_pop_back(this)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this

procedure, public :: push_back => vector_push_back

  • private recursive subroutine vector_push_back(this, value, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    type(MAPL_VarSpec), intent(in) :: value
    type(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: rbegin => vector_rbegin

  • private function vector_rbegin(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VectorRIterator)

procedure, public :: rend => vector_rend

  • private function vector_rend(this) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in), target :: this

    Return Value type(VectorRIterator)

generic, public :: reserve => reserve_default

  • private subroutine vector_reserve_default(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

generic, public :: reserve => reserve_size_kind

  • private subroutine vector_reserve_size_kind(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reserve_default => vector_reserve_default

  • private subroutine vector_reserve_default(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reserve_size_kind => vector_reserve_size_kind

  • private subroutine vector_reserve_size_kind(this, capacity, unused, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: capacity
    class(KeywordEnforcer), intent(in), optional :: unused
    integer, intent(out), optional :: rc

procedure, public :: reset => vector_reset

  • private subroutine vector_reset(this)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this

generic, public :: resize => resize_default

  • private subroutine vector_resize_default(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(MAPL_VarSpec), intent(in), optional :: value
    integer, intent(out), optional :: rc

generic, public :: resize => resize_size_kind

  • private subroutine vector_resize_size_kind(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(MAPL_VarSpec), intent(in), optional :: value
    integer, intent(out), optional :: rc

procedure, public :: resize_default => vector_resize_default

  • private subroutine vector_resize_default(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(MAPL_VarSpec), intent(in), optional :: value
    integer, intent(out), optional :: rc

procedure, public :: resize_size_kind => vector_resize_size_kind

  • private subroutine vector_resize_size_kind(this, count, unused, value, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(MAPL_VarSpec), intent(in), optional :: value
    integer, intent(out), optional :: rc

generic, public :: set => set_default

  • private subroutine vector_set_default(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: i
    type(MAPL_VarSpec), intent(in) :: value

generic, public :: set => set_size_kind

  • private subroutine vector_set_size_kind(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    type(MAPL_VarSpec), intent(in) :: value

procedure, public :: set_default => vector_set_default

  • private subroutine vector_set_default(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer, intent(in) :: i
    type(MAPL_VarSpec), intent(in) :: value

procedure, public :: set_size_kind => vector_set_size_kind

  • private subroutine vector_set_size_kind(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    type(MAPL_VarSpec), intent(in) :: value

procedure, public :: shrink_to_fit => vector_shrink_to_fit

  • private subroutine vector_shrink_to_fit(this)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout) :: this

procedure, public :: size => vector_size

  • private pure function vector_size(this) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in) :: this

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: swap => vector_swap

  • private subroutine vector_swap(this, x)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout), target :: this
    type(VarSpecVector), intent(inout), target :: x

procedure, public :: vector_insert_count_default

  • private function vector_insert_count_default(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout), target :: this
    type(VarSpecVectorIterator), intent(in) :: pos
    integer, intent(in) :: count
    type(MAPL_VarSpec), intent(in) :: value

    Return Value type(VarSpecVectorIterator)

procedure, public :: vector_insert_count_size_kind

  • private recursive function vector_insert_count_size_kind(this, pos, count, value) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(inout), target :: this
    type(VarSpecVectorIterator), intent(in) :: pos
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(MAPL_VarSpec), intent(in) :: value

    Return Value type(VarSpecVectorIterator)

procedure, public :: vector_insert_list

procedure, public :: vector_insert_one

procedure, public :: vector_insert_range

generic, public :: write(formatted) => write_formatted

  • private subroutine vector_write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg

procedure, public :: write_formatted => vector_write_formatted

  • private subroutine vector_write_formatted(this, unit, iotype, v_list, iostat, iomsg)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVector), intent(in) :: this
    integer, intent(in) :: unit
    character(len=*), intent(in) :: iotype
    integer, intent(in) :: v_list(:)
    integer, intent(out) :: iostat
    character(len=*), intent(inout) :: iomsg