node_object Derived Type

type, public :: node_object

type~~node_object~~InheritsGraph type~node_object node_object vector vector vector->type~node_object vertex
Help


Node object class.

Inherited By

type~~node_object~~InheritedByGraph type~node_object node_object type~block_object block_object type~node_object->type~block_object node type~simulation_object simulation_object type~block_object->type~simulation_object blocks
Help

Source Code


Components

TypeVisibility AttributesNameInitial
type(vector), public :: vertex

Vertex coordinates.


Type-Bound Procedures

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

Overload =.

  • private pure subroutine node_assign_node(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(node_object), intent(inout) :: lhs

    Left hand side.

    type(node_object), intent(in) :: rhs

    Right hand side.

procedure, public, pass(self) :: destroy

Destroy node.

  • private elemental subroutine destroy(self)

    Destroy node.

    Arguments

    Type IntentOptional AttributesName
    class(node_object), intent(inout) :: self

    Node object.

procedure, public, pass(self) :: initialize

Initialize node.

  • private pure subroutine initialize(self)

    Initialize node.

    Arguments

    Type IntentOptional AttributesName
    class(node_object), intent(inout) :: self

    Node object.

procedure, public, pass(lhs) :: node_assign_node

Operator =.

  • private pure subroutine node_assign_node(lhs, rhs)

    Operator =.

    Arguments

    Type IntentOptional AttributesName
    class(node_object), intent(inout) :: lhs

    Left hand side.

    type(node_object), intent(in) :: rhs

    Right hand side.

Source Code

type :: node_object
   !< Node object class.
   type(vector) :: vertex !< Vertex coordinates.
   contains
      ! public methods
      procedure, pass(self) :: destroy    !< Destroy node.
      procedure, pass(self) :: initialize !< Initialize node.
      ! operators
      generic :: assignment(=) => node_assign_node !< Overload `=`.
      ! private methods
      procedure, pass(lhs) :: node_assign_node !< Operator `=`.
endtype node_object