AbstractMeterNodeIterator Derived Type

type, public, abstract :: AbstractMeterNodeIterator


Inherited by

type~~abstractmeternodeiterator~~InheritedByGraph type~abstractmeternodeiterator AbstractMeterNodeIterator type~baseprofileriterator BaseProfilerIterator type~baseprofileriterator->type~abstractmeternodeiterator node_iterator type~meternodeiterator MeterNodeIterator type~meternodeiterator->type~abstractmeternodeiterator iterator_of_current_child type~meternodeiterator->type~abstractmeternodeiterator

Type-Bound Procedures

procedure(i_compare), public, deferred :: equals

procedure(i_get), public, deferred :: get

procedure(i_iter_get_meter), public, deferred :: get_meter

  • function i_iter_get_meter(this) result(t) Prototype

    Arguments

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

    Return Value class(AbstractMeter), pointer

procedure(i_iter_get_name), public, deferred :: get_name

  • function i_iter_get_name(this) result(name) Prototype

    Arguments

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

    Return Value character(len=:), pointer

procedure(i_next), public, deferred :: next

  • subroutine i_next(this) Prototype

    Arguments

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

procedure(i_compare), public, deferred :: not_equals

generic, public :: operator(/=) => not_equals

generic, public :: operator(==) => equals

Source Code

   type, abstract :: AbstractMeterNodeIterator
      private
   contains
      procedure(i_get), deferred :: get
      procedure(i_iter_get_meter), deferred :: get_meter
      procedure(i_iter_get_name), deferred :: get_name
      procedure(i_compare), deferred :: equals
      procedure(i_compare), deferred :: not_equals
      generic :: operator(==) => equals
      generic :: operator(/=) => not_equals
      procedure(i_next), deferred :: next
   end type AbstractMeterNodeIterator