mapl3g_ComponentDriverPtrVector Module

$ public :: foreach

$ ! ======================= $ ! insert $ ! ======================= $ subroutine vector_insert_size_kind( & $ & this, index, value, unused, rc) $ class(ComponentDriverPtrVector), target, intent(inout) :: this $ $ integer(kind=GFTL_SIZE_KIND), intent(in) :: index $ $ type(ComponentDriverPtr), intent(in) :: value $ type (KeywordEnforcer), optional, intent(in) :: unused $ integer, optional, intent(out) :: rc $ $ type(ComponentDriverPtr) :: 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(ComponentDriverPtrVector), intent(inout) :: this $ integer, intent(in) :: index $ type(ComponentDriverPtr), intent(in) :: value $ $ call this%insert(int(index,kind=GFTL_SIZE_KIND), value) $ end subroutine vector_insert_default


Uses

  • module~~mapl3g_componentdriverptrvector~~UsesGraph module~mapl3g_componentdriverptrvector mapl3g_ComponentDriverPtrVector module~mapl3g_componentdriver mapl3g_ComponentDriver module~mapl3g_componentdriverptrvector->module~mapl3g_componentdriver ESMF ESMF module~mapl3g_componentdriver->ESMF module~mapl3g_multistate mapl3g_MultiState module~mapl3g_componentdriver->module~mapl3g_multistate module~mapl_errorhandlingmod mapl_ErrorHandlingMod module~mapl3g_componentdriver->module~mapl_errorhandlingmod module~maplshared MaplShared module~mapl3g_componentdriver->module~maplshared module~mapl3g_multistate->ESMF module~mapl3g_esmf_utilities mapl3g_ESMF_Utilities module~mapl3g_multistate->module~mapl3g_esmf_utilities module~mapl_errorhandling mapl_ErrorHandling module~mapl3g_multistate->module~mapl_errorhandling module~mapl_keywordenforcer mapl_KeywordEnforcer module~mapl3g_multistate->module~mapl_keywordenforcer module~mapl_errorhandlingmod->module~mapl_errorhandling module~maplshared->module~mapl_errorhandlingmod module~mapl_abstractcommsplittermod MAPL_AbstractCommSplitterMod module~maplshared->module~mapl_abstractcommsplittermod module~mapl_commgroupdescriptionmod MAPL_CommGroupDescriptionMod module~maplshared->module~mapl_commgroupdescriptionmod module~mapl_constants MAPL_Constants module~maplshared->module~mapl_constants module~mapl_dirpathmod MAPL_DirPathMod module~maplshared->module~mapl_dirpathmod module~mapl_downbitmod MAPL_DownbitMod module~maplshared->module~mapl_downbitmod module~mapl_dso_utilities mapl_DSO_Utilities module~maplshared->module~mapl_dso_utilities module~mapl_filesystemutilities mapl_FileSystemUtilities module~maplshared->module~mapl_filesystemutilities module~mapl_hashmod MAPL_HashMod module~maplshared->module~mapl_hashmod module~mapl_interpmod MAPL_InterpMod module~maplshared->module~mapl_interpmod module~mapl_keywordenforcermod mapl_KeywordEnforcerMod module~maplshared->module~mapl_keywordenforcermod module~mapl_loadbalancemod MAPL_LoadBalanceMod module~maplshared->module~mapl_loadbalancemod module~mapl_minmaxmod MAPL_MinMaxMod module~maplshared->module~mapl_minmaxmod module~mapl_rangemod MAPL_RangeMod module~maplshared->module~mapl_rangemod module~mapl_shmemmod MAPL_ShmemMod module~maplshared->module~mapl_shmemmod module~mapl_simplecommsplittermod MAPL_SimpleCommSplitterMod module~maplshared->module~mapl_simplecommsplittermod module~mapl_sleepmod MAPL_SleepMod module~maplshared->module~mapl_sleepmod module~mapl_sortmod MAPL_SortMod module~maplshared->module~mapl_sortmod module~mapl_splitcommunicatormod MAPL_SplitCommunicatorMod module~maplshared->module~mapl_splitcommunicatormod module~mapl_string MAPL_String module~maplshared->module~mapl_string module~mapl_throwmod MAPL_ThrowMod module~maplshared->module~mapl_throwmod

Used by

  • module~~mapl3g_componentdriverptrvector~~UsedByGraph module~mapl3g_componentdriverptrvector mapl3g_ComponentDriverPtrVector module~initialize_user_smod initialize_user_smod module~initialize_user_smod->module~mapl3g_componentdriverptrvector module~mapl3g_couplermetacomponent mapl3g_CouplerMetaComponent module~initialize_user_smod->module~mapl3g_couplermetacomponent module~mapl3g_couplermetacomponent->module~mapl3g_componentdriverptrvector module~mapl3g_stateitemextension mapl3g_StateItemExtension module~mapl3g_stateitemextension->module~mapl3g_componentdriverptrvector module~mapl3g_stateregistry mapl3g_StateRegistry module~mapl3g_stateregistry->module~mapl3g_componentdriverptrvector module~mapl3g_stateregistry->module~mapl3g_stateitemextension module~run_user_smod run_user_smod module~run_user_smod->module~mapl3g_componentdriverptrvector module~run_user_smod->module~mapl3g_couplermetacomponent module~test_modelverticalgrid Test_ModelVerticalGrid module~test_modelverticalgrid->module~mapl3g_componentdriverptrvector module~test_modelverticalgrid->module~mapl3g_couplermetacomponent module~test_modelverticalgrid->module~mapl3g_stateitemextension module~test_modelverticalgrid->module~mapl3g_stateregistry module~clock_advance_smod clock_advance_smod module~clock_advance_smod->module~mapl3g_couplermetacomponent module~finalize_smod~2 finalize_smod module~finalize_smod~2->module~mapl3g_couplermetacomponent module~get_clock_smod get_clock_smod module~get_clock_smod->module~mapl3g_couplermetacomponent module~get_states_smod get_states_smod module~get_states_smod->module~mapl3g_couplermetacomponent module~mapl3g_extensionfamily mapl3g_ExtensionFamily module~mapl3g_extensionfamily->module~mapl3g_stateitemextension module~mapl3g_generic mapl3g_Generic module~mapl3g_generic->module~mapl3g_stateregistry module~mapl3g_genericcoupler mapl3g_GenericCoupler module~mapl3g_genericcoupler->module~mapl3g_couplermetacomponent module~mapl3g_make_itemspec mapl3g_make_itemSpec module~mapl3g_make_itemspec->module~mapl3g_stateregistry module~mapl3g_matchconnection mapl3g_MatchConnection module~mapl3g_matchconnection->module~mapl3g_stateitemextension module~mapl3g_matchconnection->module~mapl3g_stateregistry module~mapl3g_modelverticalgrid mapl3g_ModelVerticalGrid module~mapl3g_modelverticalgrid->module~mapl3g_stateitemextension module~mapl3g_modelverticalgrid->module~mapl3g_stateregistry module~mapl3g_outermetacomponent mapl3g_OuterMetaComponent module~mapl3g_outermetacomponent->module~mapl3g_stateregistry module~mapl3g_reexportconnection mapl3g_ReexportConnection module~mapl3g_reexportconnection->module~mapl3g_stateregistry module~mapl3g_servicespec mapl3g_ServiceSpec module~mapl3g_servicespec->module~mapl3g_stateitemextension module~mapl3g_servicespec->module~mapl3g_stateregistry module~mapl3g_simpleconnection mapl3g_SimpleConnection module~mapl3g_simpleconnection->module~mapl3g_stateitemextension module~mapl3g_simpleconnection->module~mapl3g_stateregistry module~mapl3g_stateitemextensionptrvector mapl3g_StateItemExtensionPtrVector module~mapl3g_stateitemextensionptrvector->module~mapl3g_stateitemextension module~mapl3g_stateitemextensionvector mapl3g_StateItemExtensionVector module~mapl3g_stateitemextensionvector->module~mapl3g_stateitemextension module~mapl3g_variablespec mapl3g_VariableSpec module~mapl3g_variablespec->module~mapl3g_stateregistry module~mapl3g_verticalregridaction mapl3g_VerticalRegridAction module~mapl3g_verticalregridaction->module~mapl3g_couplermetacomponent module~protoextdatagc ProtoExtDataGC module~protoextdatagc->module~mapl3g_stateitemextension module~protoextdatagc->module~mapl3g_stateregistry module~run_export_couplers_smod run_export_couplers_smod module~run_export_couplers_smod->module~mapl3g_couplermetacomponent module~run_import_couplers_smod run_import_couplers_smod module~run_import_couplers_smod->module~mapl3g_couplermetacomponent module~run_smod run_smod module~run_smod->module~mapl3g_couplermetacomponent module~set_clock_smod set_clock_smod module~set_clock_smod->module~mapl3g_couplermetacomponent module~test_extensionfamily Test_ExtensionFamily module~test_extensionfamily->module~mapl3g_stateitemextension module~test_extensionfamily->module~mapl3g_stateregistry module~test_stateregistry Test_StateRegistry module~test_stateregistry->module~mapl3g_stateitemextension module~test_stateregistry->module~mapl3g_stateregistry

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 ComponentDriverPtrVector

public interface advance

  • private subroutine vector_iter_advance_size_kind(it, n)

    Arguments

    Type IntentOptional Attributes Name
    type(ComponentDriverPtrVectorIterator), 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(ComponentDriverPtrVectorIterator), intent(inout) :: it
    integer, intent(in) :: n

public interface begin

public interface distance

public interface end

public interface find

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

    Arguments

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

    Return Value type(vector_keywordenforcer)

public interface find_if

public interface find_if_not

public interface ftn_begin

public interface ftn_end

public interface next

public interface operator(+)

public interface operator(-)

public interface operator(/=)

public interface operator(==)

public interface prev

public interface swap


Derived Types

type, public ::  ComponentDriverPtrVector

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-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 ::  KeywordEnforcer

type, public ::  NO_TYPE_

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