CompleteComponent Derived Type

type, public, extends(CompositeComponent) :: CompleteComponent


Inherits

type~~completecomponent~~InheritsGraph type~completecomponent CompleteComponent type~compositecomponent CompositeComponent type~completecomponent->type~compositecomponent type~abstractframeworkcomponent AbstractFrameworkComponent type~compositecomponent->type~abstractframeworkcomponent type~concretecomposite ConcreteComposite type~compositecomponent->type~concretecomposite composite type~surrogateframeworkcomponent SurrogateFrameworkComponent type~abstractframeworkcomponent->type~surrogateframeworkcomponent type~concretecomposite->type~abstractframeworkcomponent component type~concretecomposite->type~concretecomposite parent StringVector StringVector type~concretecomposite->StringVector children_names type~abstractcomposite AbstractComposite type~concretecomposite->type~abstractcomposite type~stringcompositemap StringCompositeMap type~concretecomposite->type~stringcompositemap children type~set2~3 set2 type~stringcompositemap->type~set2~3 tree

Components

Type Visibility Attributes Name Initial
class(ConcreteComposite), public, pointer :: composite => null()

Type-Bound Procedures

procedure, public :: add_child

procedure, public :: add_child_component

procedure, public :: finalize

  • public subroutine finalize(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(CompleteComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

generic, public :: get_child => get_child_by_name, get_child_by_index

  • private function get_child_by_name(this, name) result(child)

    Arguments

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

    Return Value class(AbstractFrameworkComponent), pointer

  • private function get_child_by_index(this, i) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    integer, intent(in) :: i

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_child_by_index

  • private function get_child_by_index(this, i) result(child)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(in) :: this
    integer, intent(in) :: i

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_child_by_name

  • private function get_child_by_name(this, name) result(child)

    Arguments

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

    Return Value class(AbstractFrameworkComponent), pointer

procedure, public :: get_component

procedure, public :: get_composite

  • private function get_composite(this) result(composite)

    Arguments

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

    Return Value class(AbstractComposite), pointer

procedure, public :: get_internal_state

procedure, public :: get_num_children

  • private function get_num_children(this) result(num_children)

    Arguments

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

    Return Value integer

procedure, public :: get_parent

procedure, public :: initialize

  • public subroutine initialize(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(CompleteComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: run

  • public subroutine run(this, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(CompleteComponent), intent(inout) :: this
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: run_child

  • public subroutine run_child(this, name, clock, phase, unusable, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(CompleteComponent), intent(inout) :: this
    character(len=*), intent(in) :: name
    type(ESMF_Clock), intent(inout) :: clock
    character(len=*), intent(in) :: phase
    class(KeywordEnforcer), intent(in), optional :: unusable
    integer, intent(out), optional :: rc

procedure, public :: set_component

procedure, public :: set_composite

  • private subroutine set_composite(this, composite)

    Arguments

    Type IntentOptional Attributes Name
    class(CompositeComponent), intent(inout) :: this
    class(AbstractComposite), intent(in), target :: composite

Source Code

   type, extends(CompositeComponent) :: CompleteComponent
   contains
      procedure :: initialize
      procedure :: run
      procedure :: finalize
      procedure :: set_component
      procedure :: get_component
      procedure :: get_internal_state
      procedure :: add_child_component
      procedure :: run_child
   end type CompleteComponent