mapl_CallbackMap Module

$ public :: foreach

$ interface operator(<) $ module procedure map_less_than $ end interface operator(<) $ interface operator(<=) $ module procedure map_less_than_or_equal $ end interface operator(<=) $ interface operator(>) $ module procedure map_greater_than $ end interface operator(>) $ interface operator(>=) $ module procedure map_greater_than_or_equal $ end interface operator(>=)

$#ifdef __map_riterator $# undef __map_riterator $#endif


Uses

  • module~~mapl_callbackmap~~UsesGraph module~mapl_callbackmap mapl_CallbackMap module~mapl_esmf_interfaces mapl_ESMF_Interfaces module~mapl_callbackmap->module~mapl_esmf_interfaces

Used by

  • module~~mapl_callbackmap~~UsedByGraph module~mapl_callbackmap mapl_CallbackMap proc~get_callbacks get_callbacks proc~get_callbacks->module~mapl_callbackmap proc~mapl_methodadd MAPL_MethodAdd proc~mapl_methodadd->module~mapl_callbackmap

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 CallbackMap

  • private function map_new_map_empty() result(m)

    Arguments

    None

    Return Value type(CallbackMap)

  • private function map_new_map_copy(x) result(m)

    Arguments

    Type IntentOptional Attributes Name
    type(CallbackMap), intent(in) :: x

    Return Value type(CallbackMap)

  • private function map_new_map_initializer_list(il) result(m)

    Arguments

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

    Return Value type(CallbackMap)

public interface CallbackPair

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

    Arguments

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

    Return Value type(CallbackPair)

public interface advance

  • private subroutine map_s_iter_advance_size_kind(it, n)

    Arguments

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

    Arguments

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

public interface begin

  • private function map_s_iter_begin(cont) result(begin)

    Arguments

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

    Return Value type(map_SetIterator)

public interface end

  • private function map_s_iter_end(cont) result(end)

    Arguments

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

    Return Value type(map_SetIterator)

public interface find

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

    Arguments

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

    Return Value type(map_s_keywordenforcer)

public interface find_if

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

    Arguments

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

    Return Value type(map_SetIterator)

public interface find_if_not

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

    Arguments

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

    Return Value type(map_SetIterator)

public interface ftn_begin

  • private function map_s_iter_ftn_begin(cont) result(begin)

    Arguments

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

    Return Value type(map_SetIterator)

public interface ftn_end

  • private function map_s_iter_ftn_end(cont) result(end)

    Arguments

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

    Return Value type(map_SetIterator)

public interface next

  • private function map_s_iter_next_1(it) result(new_it)

    Arguments

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

    Return Value type(map_SetIterator)

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

    Arguments

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

    Return Value type(map_SetIterator)

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

    Arguments

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

    Return Value type(map_SetIterator)

public interface operator(/=)

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

    Arguments

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

    Return Value logical

public interface operator(==)

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

    Arguments

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

    Return Value logical

public interface prev

  • private function map_s_iter_prev_1(it) result(new_it)

    Arguments

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

    Return Value type(map_SetIterator)

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

    Arguments

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

    Return Value type(map_SetIterator)

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

    Arguments

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

    Return Value type(map_SetIterator)

public interface swap

  • private subroutine map_p_swap(a, b)

    Arguments

    Type IntentOptional Attributes Name
    type(CallbackPair), intent(inout) :: a
    type(CallbackPair), intent(inout) :: b

Derived Types

type, public ::  CallbackMap

Constructor

private function map_new_map_empty ()
private function map_new_map_copy (x)
private function map_new_map_initializer_list (il)

Type-Bound Procedures

generic, public :: assignment(=) => deep_copy
generic, public :: at => at_rc
procedure, public :: at_rc => map_at_rc
procedure, public :: begin => map_begin
procedure, public :: clear => map_clear
procedure, public :: count => map_count
procedure, public :: deep_copy => map_deep_copy
procedure, public :: empty => map_empty
procedure, public :: end => map_end
generic, public :: erase => erase_iter
generic, public :: erase => erase_key
generic, public :: erase => erase_range
procedure, public :: erase_iter => map_erase_iter
procedure, public :: erase_key => map_erase_key
procedure, public :: erase_range => map_erase_range
procedure, public :: find => map_find
procedure, public :: ftn_begin => map_ftn_begin
procedure, public :: ftn_end => map_ftn_end
generic, public :: insert => insert_key_value
generic, public :: insert => insert_pair ../../

$ procedure :: insert_or_assign => map_insert_or_assign

procedure, public :: insert_key_value => map_insert_key_value
procedure, public :: insert_pair => map_insert_pair
procedure, public, nopass :: max_size => map_max_size
procedure, public :: of => map_of
procedure, public :: set => map_set_
procedure, public :: size => map_size
procedure, public :: verify => map_verify

type, public ::  CallbackMapIterator

Type-Bound Procedures

procedure, public :: first => map_iter_first
procedure, public :: next => map_iter_next
procedure, public :: of => map_iter_of
procedure, public :: prev => map_iter_prev
procedure, public :: second => map_iter_second

type, public ::  CallbackPair

Components

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

Constructor

private function map_p_new_pair (first, second)

type, public ::  KeywordEnforcer

type, public ::  NO_TYPE_