VariableSpecVector Derived Type

type, public :: VariableSpecVector


Inherits

type~~variablespecvector~~InheritsGraph type~variablespecvector VariableSpecVector type~vector_wrapper~25 vector_wrapper type~variablespecvector->type~vector_wrapper~25 elements type~variablespec VariableSpec type~vector_wrapper~25->type~variablespec item ESMF_Geom ESMF_Geom type~variablespec->ESMF_Geom geom ESMF_StateIntent_Flag ESMF_StateIntent_Flag type~variablespec->ESMF_StateIntent_Flag state_intent ESMF_StateItem_Flag ESMF_StateItem_Flag type~variablespec->ESMF_StateItem_Flag itemtype ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~variablespec->ESMF_TypeKind_Flag typekind EsmfRegridderParam EsmfRegridderParam type~variablespec->EsmfRegridderParam regrid_param StringVector StringVector type~variablespec->StringVector service_items, attributes, dependencies type~horizontaldimsspec HorizontalDimsSpec type~variablespec->type~horizontaldimsspec horizontal_dims_spec type~ungriddeddims UngriddedDims type~variablespec->type~ungriddeddims ungridded_dims type~verticaldimspec VerticalDimSpec type~variablespec->type~verticaldimspec vertical_dim_spec type~ungriddeddimvector UngriddedDimVector type~ungriddeddims->type~ungriddeddimvector dim_specs

Inherited by

type~~variablespecvector~~InheritedByGraph type~variablespecvector VariableSpecVector type~componentspec ComponentSpec type~componentspec->type~variablespecvector var_specs type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~componentspec component_spec

Constructor

public interface VariableSpecVector

  • private function vector_new_vector_empty() result(v)

    Arguments

    None

    Return Value type(VariableSpecVector)

  • 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(VariableSpec), intent(in), optional :: value

    Return Value type(VariableSpecVector)

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

    Arguments

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

    Return Value type(VariableSpecVector)

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

    Arguments

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

    Return Value type(VariableSpecVector)

  • private function vector_new_vector_copy(x) result(v)

    Arguments

    Type IntentOptional Attributes Name
    type(VariableSpecVector) :: x

    Return Value type(VariableSpecVector)

  • private function vector_new_vector_initializer_list(il) result(v)

    Arguments

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

    Return Value type(VariableSpecVector)


Type-Bound Procedures

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

  • private subroutine vector_copy_from_array(this, array)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), intent(inout) :: this
    type(VariableSpec), intent(in) :: array(:)

generic, public :: at => at_default

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

    Arguments

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

    Return Value type(VariableSpec), pointer

generic, public :: at => of_default

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

    Arguments

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

    Return Value type(VariableSpec), pointer

generic, public :: at => at_size_kind

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

    Arguments

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

    Return Value type(VariableSpec), pointer

generic, public :: at => of_size_kind

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

    Arguments

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

    Return Value type(VariableSpec), pointer

procedure, public :: at_default => vector_at_default

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

    Arguments

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

    Return Value type(VariableSpec), 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(VariableSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    integer, intent(out) :: rc

    Return Value type(VariableSpec), pointer

procedure, public :: back => vector_back

  • private function vector_back(this) result(res)

    Arguments

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

    Return Value type(VariableSpec), pointer

procedure, public :: begin => vector_begin

procedure, public :: capacity => vector_capacity

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

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), intent(inout) :: this
    type(VariableSpec), intent(in) :: array(:)

procedure, public :: data => vector_data

  • private function vector_data(this) result(res)

    Arguments

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

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

procedure, public :: empty => vector_empty

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

    Arguments

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

    Return Value logical

procedure, public :: end => vector_end

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(VariableSpecVector), intent(in), target :: this

    Return Value type(VariableSpec), pointer

procedure, public :: ftn_begin => vector_ftn_begin

procedure, public :: ftn_end => vector_ftn_end

generic, public :: insert => vector_insert_one

generic, public :: insert => vector_insert_count_size_kind

generic, public :: insert => vector_insert_count_default

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(VariableSpecVector), intent(in), target :: this
    integer, intent(in) :: i

    Return Value type(VariableSpec), pointer

generic, public :: of => of_size_kind

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

    Arguments

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

    Return Value type(VariableSpec), pointer

procedure, public :: of_default => vector_of_default

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

    Arguments

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

    Return Value type(VariableSpec), 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(VariableSpecVector), intent(in), target :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i

    Return Value type(VariableSpec), pointer

procedure, public :: pop_back => vector_pop_back

  • private subroutine vector_pop_back(this)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), 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(VariableSpecVector), intent(inout) :: this
    type(VariableSpec), 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(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), 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(VariableSpecVector), intent(inout) :: this

generic, public :: resize => resize_default

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

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this
    integer, intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: count
    type(KeywordEnforcer), intent(in), optional :: unused
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this
    integer, intent(in) :: i
    type(VariableSpec), intent(in) :: value

generic, public :: set => set_size_kind

  • private subroutine vector_set_size_kind(this, i, value)

    Arguments

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

procedure, public :: set_default => vector_set_default

  • private subroutine vector_set_default(this, i, value)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), intent(inout) :: this
    integer, intent(in) :: i
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this
    integer(kind=GFTL_SIZE_KIND), intent(in) :: i
    type(VariableSpec), 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(VariableSpecVector), intent(inout) :: this

procedure, public :: size => vector_size

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

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpecVector), 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(VariableSpecVector), intent(inout), target :: this
    type(VariableSpecVector), intent(inout), target :: x

procedure, public :: vector_insert_count_default

procedure, public :: vector_insert_count_size_kind

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(VariableSpecVector), 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(VariableSpecVector), 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