iterable Derived Type

type, public, abstract :: iterable

An abstract type which can return and iterator object representing its contents. All of the more complex public data structures in FIAT are descendants of this one.

Inherited By

type~~iterable~~InheritedByGraph type~iterable iterable type~countable countable type~iterable->type~countable type~ordered ordered type~countable->type~ordered type~data_set data_set type~countable->type~data_set type~queue queue type~ordered->type~queue type~dictionary dictionary type~data_set->type~dictionary type~dynamic_set dynamic_set type~data_set->type~dynamic_set type~deque deque type~queue->type~deque type~list list type~deque->type~list type~array_list array_list type~list->type~array_list type~map map type~dictionary->type~map type~multimap multimap type~dictionary->type~multimap type~multiset multiset type~dynamic_set->type~multiset
Help

Type-Bound Procedures

procedure(iterator_return), public, deferred :: iter

Return an iterator object with the contents of the iterable

  • pure function iterator_return(this) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(iterable), intent(in) :: this

    Return Value type(iterator)

    An iterator with the contents of this object

procedure(container_return), public, deferred :: contents_type

Return a container object with the dynamic type of that used in this iterable

  • pure function container_return(this) Prototype

    Arguments

    Type IntentOptional AttributesName
    class(iterable), intent(in) :: this

    Return Value class(container), allocatable

    A container of the dynamic type used in this object

Source Code

  type, abstract, public :: iterable
    !* Author: Chris MacMackin
    !  Date: February 2016
    !
    ! An abstract type which can return and [[iterator]] object
    ! representing its contents. All of the more complex public data 
    ! structures in FIAT are descendants of this one.
    !
  contains
    procedure(iterator_return), deferred :: iter
      !! Return an [[iterator]] object with the contents of the iterable 
    procedure(container_return), deferred :: contents_type
      !! Return a [[container]] object with the dynamic type of that
      !! used in this iterable
  end type iterable