edge Derived Type

type, private :: edge

the "to" vertex that defines an edge. This is part of the array of vertices contained without the "from" vertex type. an edge can also have optional attrubutes for graphviz.


Inherited by

type~~edge~~InheritedByGraph type~edge edge type~vertex vertex type~vertex->type~edge edges type~dag dag type~dag->type~vertex vertices

Components

Type Visibility Attributes Name Initial
integer(kind=ip), public :: ivertex = 0

vertex number (the index in the dag vertices array)

character(len=:), public, allocatable :: label

used for diagraph

character(len=:), public, allocatable :: attributes

used for diagraph

class(*), public, allocatable :: metadata

user-defined metadata


Constructor

private interface edge

constructor for an edge type.

  • private pure elemental function edge_constructor(ivertex, label, attributes, metadata) result(e)

    Constructor for edge type.

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=ip), intent(in), optional :: ivertex

    vertex number defining the destination of this edge

    character(len=*), intent(in), optional :: label

    vertex name for grahviz

    character(len=*), intent(in), optional :: attributes

    other attributes for graphviz

    class(*), intent(in), optional :: metadata

    optional user-defined metadata

    Return Value type(edge)


Source Code

    type :: edge
        !! the "to" vertex that defines an edge. This is part of
        !! the array of vertices contained without the "from" [[vertex]] type.
        !! an edge can also have optional attrubutes for graphviz.
        integer(ip) :: ivertex = 0 !! vertex number (the index in the [[dag]] `vertices` array)
        character(len=:),allocatable :: label !! used for diagraph
        character(len=:),allocatable :: attributes !! used for diagraph
        class(*),allocatable :: metadata !! user-defined metadata
    end type edge