mapl_VarSpecVector Module

$ public :: foreach

$ ! ======================= $ ! insert $ ! ======================= $ subroutine vector_insert_size_kind( & $ & this, index, value, unused, rc) $ class(VarSpecVector), target, intent(inout) :: this $ $ integer(kind=GFTL_SIZE_KIND), intent(in) :: index $ $ type(MAPL_VarSpec), intent(in) :: value $ type (KeywordEnforcer), optional, intent(in) :: unused $ integer, optional, intent(out) :: rc $ $ type(MAPL_VarSpec) :: temp $ integer(kind=GFTL_SIZE_KIND) :: i, n $ $ if (.false.) print*,shape(unused) $ $ n = this%vsize $ if (index==n+1) then $ call this%push_back(value) $ ! Workaround for NAG -6221 - temp needs some status $ temp=value $ return $ endif $ call this%grow_to(this%vsize+1) $ temp=this%elements(n)%item $ call this%resize(n+1, temp, rc=rc) $ $ do i = n, index, -1 $ this%elements(index)%item=this%elements(index-1)%item $ end do $ $ this%elements(index)%item=value $ $ return $ end subroutine vector_insert_size_kind $ $ $ subroutine vector_insert_default(this, index, value) $ class(VarSpecVector), intent(inout) :: this $ integer, intent(in) :: index $ type(MAPL_VarSpec), intent(in) :: value $ $ call this%insert(int(index,kind=GFTL_SIZE_KIND), value) $ end subroutine vector_insert_default


Uses

  • module~~mapl_varspecvector~~UsesGraph module~mapl_varspecvector mapl_VarSpecVector module~mapl_varspecmod MAPL_VarSpecMod module~mapl_varspecvector->module~mapl_varspecmod ESMF ESMF module~mapl_varspecmod->ESMF module~mapl_constants MAPL_Constants module~mapl_varspecmod->module~mapl_constants module~mapl_errorhandlingmod MAPL_ErrorHandlingMod module~mapl_varspecmod->module~mapl_errorhandlingmod module~mapl_varspectypemod MAPL_VarSpecTypeMod module~mapl_varspecmod->module~mapl_varspectypemod module~pflogger pflogger module~mapl_varspecmod->module~pflogger iso_fortran_env iso_fortran_env module~mapl_constants->iso_fortran_env module~mapl_internalconstantsmod MAPL_InternalConstantsMod module~mapl_constants->module~mapl_internalconstantsmod module~mapl_mathconstantsmod MAPL_MathConstantsMod module~mapl_constants->module~mapl_mathconstantsmod module~mapl_physicalconstantsmod MAPL_PhysicalConstantsMod module~mapl_constants->module~mapl_physicalconstantsmod module~mapl_throwmod MAPL_ThrowMod module~mapl_errorhandlingmod->module~mapl_throwmod mpi mpi module~mapl_errorhandlingmod->mpi module~mapl_varspectypemod->ESMF module~mapl_varspectypemod->module~mapl_errorhandlingmod module~oomph oomph module~mapl_varspectypemod->module~oomph module~pfl_keywordenforcermod PFL_KeywordEnforcerMod module~pflogger->module~pfl_keywordenforcermod module~pfl_logger PFL_Logger module~pflogger->module~pfl_logger module~pfl_loggermanager PFL_LoggerManager module~pflogger->module~pfl_loggermanager module~pfl_severitylevels PFL_SeverityLevels module~pflogger->module~pfl_severitylevels module~pfl_wraparray PFL_WrapArray module~pflogger->module~pfl_wraparray module~mapl_internalconstantsmod->iso_fortran_env module~mapl_mathconstantsmod->iso_fortran_env module~mapl_physicalconstantsmod->iso_fortran_env module~mapl_physicalconstantsmod->module~mapl_mathconstantsmod module~oomph_abstractstateitemspec oomph_AbstractStateItemSpec module~oomph->module~oomph_abstractstateitemspec module~oomph_connectionpoint oomph_ConnectionPoint module~oomph->module~oomph_connectionpoint module~oomph_dimsspec oomph_DimsSpec module~oomph->module~oomph_dimsspec module~oomph_fieldspec oomph_FieldSpec module~oomph->module~oomph_fieldspec module~oomph_horizontalstaggerloc oomph_HorizontalStaggerLoc module~oomph->module~oomph_horizontalstaggerloc module~oomph_ungriddeddimspec oomph_UngriddedDimSpec module~oomph->module~oomph_ungriddeddimspec module~oomph_verticalstaggerloc oomph_VerticalStaggerLoc module~oomph->module~oomph_verticalstaggerloc module~pfl_logger->module~pfl_keywordenforcermod module~pfl_logger->module~pfl_severitylevels gFTL_StringUnlimitedMap gFTL_StringUnlimitedMap module~pfl_logger->gFTL_StringUnlimitedMap module~pfl_loggermanager->module~pfl_logger

Used by

  • module~~mapl_varspecvector~~UsedByGraph module~mapl_varspecvector mapl_VarSpecVector module~mapl_statespecification mapl_StateSpecification module~mapl_statespecification->module~mapl_varspecvector module~mapl_varspecmiscmod MAPL_VarSpecMiscMod module~mapl_statespecification->module~mapl_varspecmiscmod module~mapl_varspecmiscmod->module~mapl_varspecvector module~maplgeneric MaplGeneric module~maplgeneric->module~mapl_varspecvector module~maplgeneric->module~mapl_statespecification module~maplgeneric->module~mapl_varspecmiscmod module~mapl_componentspecification mapl_ComponentSpecification module~maplgeneric->module~mapl_componentspecification module~mapl MAPL module~mapl->module~mapl_varspecmiscmod module~mapl_genericmod MAPL_GenericMod module~mapl->module~mapl_genericmod module~mapl_componentspecification->module~mapl_statespecification module~mapl_genericcplcompmod MAPL_GenericCplCompMod module~mapl_genericcplcompmod->module~mapl_varspecmiscmod module~mapl_genericmod->module~maplgeneric module~mapl_genericmod->module~mapl_genericcplcompmod module~mapl_historygridcompmod MAPL_HistoryGridCompMod module~mapl_historygridcompmod->module~mapl_varspecmiscmod module~mapl_historygridcompmod->module~mapl_genericcplcompmod module~mapl_historygridcompmod->module~mapl_genericmod module~extdata_drivergridcompmod ExtData_DriverGridCompMod module~extdata_drivergridcompmod->module~mapl module~extdata_drivergridcompmod->module~mapl_historygridcompmod module~extdatadrivermod ExtDataDriverMod module~extdatadrivermod->module~mapl module~extdatautroot_gridcompmod ExtDataUtRoot_GridCompMod module~extdatautroot_gridcompmod->module~mapl module~historytrajectorymod HistoryTrajectoryMod module~historytrajectorymod->module~mapl_genericmod module~mapl_baseframeworkcomponent mapl_BaseFrameworkComponent module~mapl_baseframeworkcomponent->module~mapl_componentspecification module~mapl_capgridcompmod MAPL_CapGridCompMod module~mapl_capgridcompmod->module~mapl_genericmod module~mapl_capgridcompmod->module~mapl_historygridcompmod module~mapl_extdatagridcomp2g MAPL_ExtDataGridComp2G module~mapl_extdatagridcomp2g->module~mapl_genericmod module~mapl_extdatagridcompmod MAPL_ExtDataGridCompMod module~mapl_extdatagridcompmod->module~mapl_genericmod module~mapl_mod MAPL_Mod module~mapl_mod->module~mapl module~mapl_orbgridcompmod MAPL_OrbGridCompMod module~mapl_orbgridcompmod->module~mapl_genericmod module~masksamplergeosatmod MaskSamplerGeosatMod module~masksamplergeosatmod->module~mapl_genericmod module~regrid_util_support_mod regrid_util_support_mod module~regrid_util_support_mod->module~mapl module~stationsamplermod StationSamplerMod module~stationsamplermod->module~mapl_genericmod module~varspecdescriptionmod VarspecDescriptionMod module~varspecdescriptionmod->module~mapl program~capdriver_main CapDriver_Main program~capdriver_main->module~mapl program~comp_testing_driver comp_testing_driver program~comp_testing_driver->module~mapl program~comp_testing_driver->module~mapl_genericmod program~extdata_driver ExtData_Driver program~extdata_driver->module~mapl program~main~2 main program~main~2->module~mapl program~main~8 main program~main~8->module~mapl program~time_ave time_ave program~time_ave->module~mapl

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: BAD_ALLOC = 2
integer, public, parameter :: GFTL_SIZE_KIND = selected_int_kind(18)
integer, public, parameter :: ILLEGAL_INPUT = 3
integer, public, parameter :: LENGTH_ERROR = 4
integer, public, parameter :: OUT_OF_RANGE = 1
integer, public, parameter :: SUCCESS = 0
integer, public, parameter :: TYPE_HAS_NO_DEFAULT_VALUE = 5
type(NO_TYPE_), public, parameter :: NO_TYPE__ = NO_TYPE_()

Interfaces

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)

public interface advance

  • private subroutine vector_iter_advance_size_kind(it, n)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(inout) :: it
    integer(kind=selected_int_kind(18)), intent(in) :: n
  • private subroutine vector_iter_advance_default(it, n)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(inout) :: it
    integer, intent(in) :: n

public interface begin

  • private function vector_iter_begin(cont) result(begin)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVector), intent(in), target :: cont

    Return Value type(VarSpecVectorIterator)

public interface distance

  • private function vector_iter_distance(a, b) result(distance)

    Arguments

    Type IntentOptional Attributes Name
    class(VarSpecVectorIterator), intent(in) :: a
    type(VarSpecVectorIterator), intent(in) :: b

    Return Value integer(kind=selected_int_kind(18))

public interface end

  • private function vector_iter_end(cont) result(end)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVector), intent(in), target :: cont

    Return Value type(VarSpecVectorIterator)

public interface find

  • private function vector_find_basic(do_not_use, unused) result(j)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: do_not_use
    type(KeywordEnforcer), intent(in) :: unused

    Return Value type(vector_keywordenforcer)

public interface find_if

  • private function vector_find_if(first, last, p) result(it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: first
    type(VarSpecVectorIterator), intent(in) :: last
    private function p(item)
    Arguments
    Type IntentOptional Attributes Name
    type(MAPL_VarSpec), intent(in) :: item
    Return Value logical

    Return Value type(VarSpecVectorIterator)

public interface find_if_not

  • private function vector_find_if_not(first, last, q) result(it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: first
    type(VarSpecVectorIterator), intent(in) :: last
    private function q(item)
    Arguments
    Type IntentOptional Attributes Name
    type(MAPL_VarSpec), intent(in) :: item
    Return Value logical

    Return Value type(VarSpecVectorIterator)

public interface ftn_begin

  • private function vector_iter_ftn_begin(cont) result(begin)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVector), intent(in), target :: cont

    Return Value type(VarSpecVectorIterator)

public interface ftn_end

  • private function vector_iter_ftn_end(cont) result(end)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVector), intent(in), target :: cont

    Return Value type(VarSpecVectorIterator)

public interface next

  • private function vector_iter_next_1(it) result(new_it)

    Arguments

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

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_next_n_size_kind(it, n) result(new_it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: it
    integer(kind=selected_int_kind(18)), intent(in) :: n

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_next_n_default(it, n) result(new_it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: it
    integer, intent(in) :: n

    Return Value type(VarSpecVectorIterator)

public interface operator(+)

  • private function vector_iter_a_plus_n_size_kind(a, n) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    integer(kind=selected_int_kind(18)), intent(in) :: n

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_n_plus_a_size_kind(n, a) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=selected_int_kind(18)), intent(in) :: n
    type(VarSpecVectorIterator), intent(in) :: a

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_n_plus_a_default(n, a) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    integer, intent(in) :: n
    type(VarSpecVectorIterator), intent(in) :: a

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_a_plus_n_default(a, n) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    integer, intent(in) :: n

    Return Value type(VarSpecVectorIterator)

public interface operator(-)

  • private function vector_iter_a_minus_n_size_kind(a, n) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    integer(kind=selected_int_kind(18)), intent(in) :: n

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_a_minus_n_default(a, n) result(new_iter)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    integer, intent(in) :: n

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_a_minus_b(a, b) result(n)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    type(VarSpecVectorIterator), intent(in) :: b

    Return Value integer(kind=selected_int_kind(18))

public interface operator(/=)

  • private function vector_iter_not_equal(a, b) result(ne)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    type(VarSpecVectorIterator), intent(in) :: b

    Return Value logical

public interface operator(==)

  • private function vector_iter_equal(a, b) result(eq)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: a
    type(VarSpecVectorIterator), intent(in) :: b

    Return Value logical

public interface prev

  • private function vector_iter_prev_1(it) result(new_it)

    Arguments

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

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_prev_n_size_kind(it, n) result(new_it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: it
    integer(kind=selected_int_kind(18)), intent(in) :: n

    Return Value type(VarSpecVectorIterator)

  • private function vector_iter_prev_n_default(it, n) result(new_it)

    Arguments

    Type IntentOptional Attributes Name
    type(VarSpecVectorIterator), intent(in) :: it
    integer, intent(in) :: n

    Return Value type(VarSpecVectorIterator)

public interface swap

  • private subroutine vector_swap(this, x)

    Arguments

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

Derived Types

type, public ::  KeywordEnforcer

type, public ::  NO_TYPE_

type, public ::  VarSpecVector

Constructor

private function vector_new_vector_empty ()
private function vector_new_vector_fill_size_kind (n, value)
private function vector_new_vector_fill_default (n, value)
private function vector_new_vector_range (first, last)
private function vector_new_vector_copy (x)
private function vector_new_vector_initializer_list (il)

Type-Bound Procedures

generic, public :: assignment(=) => copy_from_array
generic, public :: at => at_default
generic, public :: at => of_default
generic, public :: at => at_size_kind
generic, public :: at => of_size_kind
procedure, public :: at_default => vector_at_default
procedure, public :: at_size_kind => vector_at_size_kind
procedure, public :: back => vector_back
procedure, public :: begin => vector_begin
procedure, public :: capacity => vector_capacity
procedure, public :: clear => vector_clear
procedure, public :: copy_from_array => vector_copy_from_array
procedure, public :: data => vector_data
procedure, public :: empty => vector_empty
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
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
generic, public :: of => of_default
generic, public :: of => of_size_kind
procedure, public :: of_default => vector_of_default
procedure, public :: of_size_kind => vector_of_size_kind
procedure, public :: pop_back => vector_pop_back
procedure, public :: push_back => vector_push_back
procedure, public :: rbegin => vector_rbegin
procedure, public :: rend => vector_rend
generic, public :: reserve => reserve_default
generic, public :: reserve => reserve_size_kind
procedure, public :: reserve_default => vector_reserve_default
procedure, public :: reserve_size_kind => vector_reserve_size_kind
procedure, public :: reset => vector_reset
generic, public :: resize => resize_default
generic, public :: resize => resize_size_kind
procedure, public :: resize_default => vector_resize_default
procedure, public :: resize_size_kind => vector_resize_size_kind
generic, public :: set => set_default
generic, public :: set => set_size_kind
procedure, public :: set_default => vector_set_default
procedure, public :: set_size_kind => vector_set_size_kind
procedure, public :: shrink_to_fit => vector_shrink_to_fit
procedure, public :: size => vector_size
procedure, public :: swap => vector_swap
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
procedure, public :: write_formatted => vector_write_formatted

type, public ::  VarSpecVectorIterator

Type-Bound Procedures

generic, public :: add => vector_iter_add_n_default
generic, public :: add => vector_iter_add_n_size_kind
procedure, public :: next => vector_iter_next
generic, public :: of => vector_iter_of
generic, public :: of => vector_iter_of_offset_default
generic, public :: of => vector_iter_of_offset_size_kind
procedure, public :: prev => vector_iter_prev

$ procedure :: back_inserter => vector_back_inserter $ procedure :: front_inserter => vector_front_inserter $ procedure :: inserter => vector_inserter $ procedure :: make_move_iterator => vector_make_move_iterator

Read more…
generic, public :: sub => vector_iter_sub_n_default
generic, public :: sub => vector_iter_sub_n_size_kind
procedure, public :: vector_iter_add_n_default
procedure, public :: vector_iter_add_n_size_kind
procedure, public :: vector_iter_of
procedure, public :: vector_iter_of_offset_default
procedure, public :: vector_iter_of_offset_size_kind
procedure, public :: vector_iter_sub_n_default
procedure, public :: vector_iter_sub_n_size_kind

type, public ::  VectorRIterator

$ procedure :: back_inserter => vector_back_inserter $ procedure :: front_inserter => vector_front_inserter $ procedure :: inserter => vector_inserter $ procedure :: make_move_iterator => vector_make_move_iterator

Type-Bound Procedures

generic, public :: add => vector_riter_add_n_default
generic, public :: add => vector_riter_add_n_size_kind
procedure, public :: next => vector_riter_next
generic, public :: of => vector_riter_of
generic, public :: of => vector_riter_of_offset_size_kind
generic, public :: of => vector_riter_of_offset_default
procedure, public :: prev => vector_riter_prev
generic, public :: sub => vector_riter_sub_n_default
generic, public :: sub => vector_riter_sub_n_size_kind
procedure, public :: vector_riter_add_n_default
procedure, public :: vector_riter_add_n_size_kind
procedure, public :: vector_riter_of
procedure, public :: vector_riter_of_offset_default
procedure, public :: vector_riter_of_offset_size_kind
procedure, public :: vector_riter_sub_n_default
procedure, public :: vector_riter_sub_n_size_kind