CallbackMap Derived Type

type, public :: CallbackMap


Inherits

type~~callbackmap~~InheritsGraph type~callbackmap CallbackMap type~map_set~4 map_Set type~callbackmap->type~map_set~4 tree type~map_s_basenode~4 map_s_BaseNode type~map_set~4->type~map_s_basenode~4 root

Inherited by

type~~callbackmap~~InheritedByGraph type~callbackmap CallbackMap type~callbackmapiterator CallbackMapIterator type~callbackmapiterator->type~callbackmap reference

Constructor

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)


Type-Bound Procedures

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

  • private recursive subroutine map_deep_copy(this, x)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(out) :: this
    type(CallbackMap), intent(in), target :: x

generic, public :: at => at_rc

  • private function map_at_rc(this, key, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(in), target :: this
    character(len=*), intent(in) :: key
    integer, intent(out), optional :: rc

    Return Value type(CallbackMethodWrapper), pointer

procedure, public :: at_rc => map_at_rc

  • private function map_at_rc(this, key, rc) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(in), target :: this
    character(len=*), intent(in) :: key
    integer, intent(out), optional :: rc

    Return Value type(CallbackMethodWrapper), pointer

procedure, public :: begin => map_begin

  • private function map_begin(this) result(iter)

    Arguments

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

    Return Value type(CallbackMapIterator)

procedure, public :: clear => map_clear

  • private recursive subroutine map_clear(this)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this

procedure, public :: count => map_count

  • private function map_count(this, key) result(count)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(in) :: this
    character(len=*), intent(in) :: key

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: deep_copy => map_deep_copy

  • private recursive subroutine map_deep_copy(this, x)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(out) :: this
    type(CallbackMap), intent(in), target :: x

procedure, public :: empty => map_empty

  • private function map_empty(this) result(isEmpty)

    Arguments

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

    Return Value logical

procedure, public :: end => map_end

  • private function map_end(this) result(iter)

    Arguments

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

    Return Value type(CallbackMapIterator)

generic, public :: erase => erase_iter

generic, public :: erase => erase_key

  • private function map_erase_key(this, k) result(n)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    character(len=*), intent(in) :: k

    Return Value integer(kind=GFTL_SIZE_KIND)

generic, public :: erase => erase_range

procedure, public :: erase_iter => map_erase_iter

procedure, public :: erase_key => map_erase_key

  • private function map_erase_key(this, k) result(n)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    character(len=*), intent(in) :: k

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: erase_range => map_erase_range

procedure, public :: find => map_find

  • private function map_find(this, key) result(iter)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(in), target :: this
    character(len=*), intent(in) :: key

    Return Value type(CallbackMapIterator)

procedure, public :: ftn_begin => map_ftn_begin

  • private function map_ftn_begin(this) result(iter)

    Arguments

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

    Return Value type(CallbackMapIterator)

procedure, public :: ftn_end => map_ftn_end

  • private function map_ftn_end(this) result(iter)

    Arguments

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

    Return Value type(CallbackMapIterator)

generic, public :: insert => insert_key_value

  • private recursive subroutine map_insert_key_value(this, key, value)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    character(len=*), intent(in) :: key
    type(CallbackMethodWrapper), intent(in), target :: value

generic, public :: insert => insert_pair

$ procedure :: insert_or_assign => map_insert_or_assign

  • private recursive subroutine map_insert_pair(this, p)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    type(CallbackPair), intent(in) :: p

procedure, public :: insert_key_value => map_insert_key_value

  • private recursive subroutine map_insert_key_value(this, key, value)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    character(len=*), intent(in) :: key
    type(CallbackMethodWrapper), intent(in), target :: value

procedure, public :: insert_pair => map_insert_pair

  • private recursive subroutine map_insert_pair(this, p)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    type(CallbackPair), intent(in) :: p

procedure, public, nopass :: max_size => map_max_size

  • private function map_max_size() result(max_size)

    Arguments

    None

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: of => map_of

  • private function map_of(this, key) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout), target :: this
    character(len=*), intent(in) :: key

    Return Value type(CallbackMethodWrapper), pointer

procedure, public :: set => map_set_

  • private subroutine map_set_(this, key, value)

    Arguments

    Type IntentOptional Attributes Name
    class(CallbackMap), intent(inout) :: this
    character(len=*), intent(in) :: key
    type(CallbackMethodWrapper), intent(in) :: value

procedure, public :: size => map_size

  • private function map_size(this) result(size)

    Arguments

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

    Return Value integer(kind=GFTL_SIZE_KIND)

procedure, public :: verify => map_verify

  • private recursive function map_verify(this) result(verify)

    Arguments

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

    Return Value logical