signal_collection_class Module

Houses class containing named signal wrappers


Used by


Interfaces

interface

  • private pure module function isSignalRegistered(this, name) result(reg)

    Check whether signal with given name is registered in the collection

    Arguments

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

    Return Value logical

interface

  • private pure module subroutine initSignalCollection(this)

    SignalCollection object initialization

    Arguments

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

interface

  • private module subroutine addSignal(this, sig, name)

    Add named signal to collection

    Arguments

    Type IntentOptional Attributes Name
    class(SignalCollection), intent(inout) :: this
    class(TimeSignal), intent(in) :: sig
    character(len=*), intent(in) :: name

interface

  • private pure module subroutine copySignal(this, name, sig)

    Copy signal with given name into passed sig object, overwriting any existing allocation

    Arguments

    Type IntentOptional Attributes Name
    class(SignalCollection), intent(in) :: this
    character(len=*), intent(in) :: name
    class(TimeSignal), intent(inout), allocatable :: sig

Derived Types

type, private ::  SignalContainer

Container object for signal types

Components

Type Visibility Attributes Name Initial
class(TimeSignal), public, allocatable :: entry

type, public, extends(Object) ::  SignalCollection

Object storing named signals

Components

Type Visibility Attributes Name Initial
logical, public :: userDefined = .false.

True only if user explicitly sets it to true

type(SignalContainer), private, allocatable, dimension(:) :: signals
type(StringArray), private, allocatable, dimension(:) :: signalNames

Type-Bound Procedures

procedure, public :: isDefined => isDefinedObject
procedure, public :: makeDefined => makeDefinedObject
procedure, public :: makeUndefined => makeUndefinedObject
procedure, public :: addSignal
procedure, public :: isSignalRegistered
procedure, public :: copySignal
procedure, public :: init => initSignalCollection