mapl3g_GriddedComponentDriverMap Module

$ interface operator(<) $ module procedure omap_I_less_than $ end interface operator(<) $ interface operator(<=) $ module procedure omap_I_less_than_or_equal $ end interface operator(<=) $ interface operator(>) $ module procedure omap_I_greater_than $ end interface operator(>) $ interface operator(>=) $ module procedure omap_I_greater_than_or_equal $ end interface operator(>=)

$ ! ======================= $ ! insert $ ! ======================= $ subroutine omap_K_insert_size_kind( & $ & this, index, value, unused, rc) $ class(omap_Vector), target, intent(inout) :: this $ $ integer(kind=GFTL_SIZE_KIND), intent(in) :: index $ $ character(len=), intent(in) :: value $ type (KeywordEnforcer), optional, intent(in) :: unused $ integer, optional, intent(out) :: rc $ $ character(len=:), allocatable :: 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 $ call move_alloc(from=this%elements(index-1)%item,to=this%elements(index)%item) $ end do $ $ this%elements(index)%item=value $ $ return $ end subroutine omap_K_insert_size_kind $ $ $ subroutine omap_K_insert_default(this, index, value) $ class(omap_Vector), intent(inout) :: this $ integer, intent(in) :: index $ character(len=*), intent(in) :: value $ $ call this%insert(int(index,kind=GFTL_SIZE_KIND), value) $ end subroutine omap_K_insert_default

$#ifdef __map_riterator $# undef __map_riterator $#endif


Uses

  • module~~mapl3g_griddedcomponentdrivermap~~UsesGraph module~mapl3g_griddedcomponentdrivermap mapl3g_GriddedComponentDriverMap module~mapl3g_griddedcomponentdriver mapl3g_GriddedComponentDriver module~mapl3g_griddedcomponentdrivermap->module~mapl3g_griddedcomponentdriver ESMF ESMF module~mapl3g_griddedcomponentdriver->ESMF module~mapl3g_componentdriver mapl3g_ComponentDriver module~mapl3g_griddedcomponentdriver->module~mapl3g_componentdriver module~mapl3g_componentdrivervector mapl3g_ComponentDriverVector module~mapl3g_griddedcomponentdriver->module~mapl3g_componentdrivervector module~mapl3g_multistate mapl3g_MultiState module~mapl3g_griddedcomponentdriver->module~mapl3g_multistate module~mapl_errorhandlingmod mapl_ErrorHandlingMod module~mapl3g_griddedcomponentdriver->module~mapl_errorhandlingmod module~mapl_keywordenforcer mapl_KeywordEnforcer module~mapl3g_griddedcomponentdriver->module~mapl_keywordenforcer module~mapl3g_componentdriver->ESMF module~mapl3g_componentdriver->module~mapl3g_multistate module~mapl3g_componentdriver->module~mapl_errorhandlingmod module~maplshared MaplShared module~mapl3g_componentdriver->module~maplshared module~mapl3g_componentdrivervector->module~mapl3g_componentdriver module~mapl3g_multistate->ESMF module~mapl3g_multistate->module~mapl_keywordenforcer 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_errorhandlingmod->module~mapl_errorhandling module~mapl3g_esmf_utilities->ESMF module~mapl3g_esmf_utilities->module~mapl_errorhandling module~mapl_throwmod MAPL_ThrowMod module~mapl_errorhandling->module~mapl_throwmod mpi mpi module~mapl_errorhandling->mpi 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~maplshared->module~mapl_throwmod

Used by

  • module~~mapl3g_griddedcomponentdrivermap~~UsedByGraph module~mapl3g_griddedcomponentdrivermap mapl3g_GriddedComponentDriverMap module~apply_to_children_custom_smod apply_to_children_custom_smod module~apply_to_children_custom_smod->module~mapl3g_griddedcomponentdrivermap module~finalize_smod finalize_smod module~finalize_smod->module~mapl3g_griddedcomponentdrivermap module~mapl3g_outermetacomponent mapl3g_OuterMetaComponent module~mapl3g_outermetacomponent->module~mapl3g_griddedcomponentdrivermap module~recurse_smod recurse_smod module~recurse_smod->module~mapl3g_griddedcomponentdrivermap module~run_children_smod run_children_smod module~run_children_smod->module~mapl3g_griddedcomponentdrivermap module~run_clock_advance_smod run_clock_advance_smod module~run_clock_advance_smod->module~mapl3g_griddedcomponentdrivermap module~setservices_smod SetServices_smod module~setservices_smod->module~mapl3g_griddedcomponentdrivermap

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 GriddedComponentDriverMap

public interface GriddedComponentDriverPair

  • private function omap_I_p_new_pair(first, second) result(p)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: first
    type(GriddedComponentDriver), intent(in) :: second

    Return Value type(GriddedComponentDriverPair)

public interface advance

  • private subroutine omap_I_s_iter_advance_size_kind(it, n)

    Arguments

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

    Arguments

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

public interface begin

  • private function omap_I_s_iter_begin(cont) result(begin)

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface end

  • private function omap_I_s_iter_end(cont) result(end)

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface ftn_begin

  • private function omap_I_s_iter_ftn_begin(cont) result(begin)

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface ftn_end

  • private function omap_I_s_iter_ftn_end(cont) result(end)

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface next

  • private function omap_I_s_iter_next_1(it) result(new_it)

    Arguments

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

    Return Value type(omap_I_SetIterator)

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

    Arguments

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

    Return Value type(omap_I_SetIterator)

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

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface operator(/=)

  • private function omap_I_s_not_equal(a, b) result(not_equal)

    Arguments

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

    Return Value logical

public interface operator(==)

  • private function omap_I_s_equal(a, b) result(equal)

    Arguments

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

    Return Value logical

public interface prev

  • private function omap_I_s_iter_prev_1(it) result(new_it)

    Arguments

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

    Return Value type(omap_I_SetIterator)

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

    Arguments

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

    Return Value type(omap_I_SetIterator)

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

    Arguments

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

    Return Value type(omap_I_SetIterator)

public interface swap


Derived Types

type, public ::  GriddedComponentDriverMap

Constructor

private function omap_new_omap_empty ()
private function omap_new_omap_copy (x)
private function omap_new_omap_initializer_list (il)

Type-Bound Procedures

generic, public :: at => at_rc
procedure, public :: at_rc => omap_at_rc
procedure, public :: begin => omap_begin
procedure, public :: clear => omap_clear
procedure, public :: count => omap_count
procedure, public :: deep_copy => omap_deep_copy ../../

$ generic :: assignment(=) => deep_copy

procedure, public :: empty => omap_empty
procedure, public :: end => omap_end
generic, public :: erase => erase_iter
generic, public :: erase => erase_key
generic, public :: erase => erase_range
procedure, public :: erase_iter => omap_erase_iter
procedure, public :: erase_key => omap_erase_key
procedure, public :: erase_range => omap_erase_range
procedure, public :: find => omap_find
procedure, public :: ftn_begin => omap_ftn_begin
procedure, public :: ftn_end => omap_ftn_end
generic, public :: insert => insert_key_value ../../

$ generic :: insert => insert_pair $ procedure :: insert_or_assign => omap_insert_or_assign

procedure, public :: insert_key_value => omap_insert_key_value ../../

$ procedure :: insert_pair => omap_insert_pair

procedure, public, nopass :: max_size => omap_max_size
procedure, public :: of => omap_of
procedure, public :: set => omap_set_
procedure, public :: size => omap_size
procedure, public :: verify => omap_verify

Type-Bound Procedures

procedure, public :: at => omap_iter_at
procedure, public :: first => omap_iter_first
procedure, public :: next => omap_iter_next
procedure, public :: prev => omap_iter_prev
procedure, public :: second => omap_iter_second

type, public ::  GriddedComponentDriverPair

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: first
type(GriddedComponentDriver), public :: second

Constructor

private function omap_I_p_new_pair (first, second)

type, public ::  KeywordEnforcer

type, public ::  NO_TYPE_