ParameterEntry_t Derived Type

type, public :: ParameterEntry_t

Source Code


Finalization Procedures

final :: ParameterEntry_Finalize

  • private subroutine ParameterEntry_Finalize(this)

    Finalize procedure

    Arguments

    Type IntentOptional AttributesName
    type(ParameterEntry_t), intent(inout) :: this

    Parameter Entry


Type-Bound Procedures

procedure, public, non_overridable :: Free => ParameterEntry_Free

  • private subroutine ParameterEntry_Free(this)

    Free the Entry

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

procedure, public, non_overridable :: Print => ParameterEntry_Print

  • private subroutine ParameterEntry_Print(this, unit, prefix, iostat, iomsg)

    Print the keys/value pair contained in the Parameter Entry

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    integer(kind=I4P), intent(in) :: unit

    Logic unit.

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

    Prefixing string.

    integer(kind=I4P), intent(out), optional :: iostat

    IO error.

    character(len=*), intent(out), optional :: iomsg

    IO error message.

procedure, public, non_overridable :: HasNext => ParameterEntry_HasNext

  • private function ParameterEntry_HasNext(this) result(hasNext)

    Check if Next is associated for the current Node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value logical

    Check if Next is associated

procedure, public, non_overridable :: SetNext => ParameterEntry_SetNext

  • private subroutine ParameterEntry_SetNext(this, Next)

    Set the pointer to the Next node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

    class(ParameterEntry_t), intent(in), pointer:: Next

    Pointer to Next

procedure, public, non_overridable :: GetNext => ParameterEntry_GetNext

  • private function ParameterEntry_GetNext(this) result(Next)

    Return a pointer to the Next node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value class(ParameterEntry_t), pointer

    Pointer to Next

procedure, public, non_overridable :: NullifyNext => ParameterEntry_NullifyNext

  • private subroutine ParameterEntry_NullifyNext(this)

    Nullify Next

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

procedure, public, non_overridable :: HasKey => ParameterEntry_HasKey

  • private function ParameterEntry_HasKey(this) result(hasKey)

    Check if Key is allocated for the current Node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value logical

    Check if Key is associated

procedure, public, non_overridable :: SetKey => ParameterEntry_SetKey

  • private subroutine ParameterEntry_SetKey(this, Key)

    Check if Next is associated for the current Node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

    character(len=*), intent(in) :: Key

    Key

procedure, public, non_overridable :: GetKey => ParameterEntry_GetKey

  • private function ParameterEntry_GetKey(this) result(Key)

    Check if Next is associated for the current Node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value character(len=:), allocatable

    Key

procedure, public, non_overridable :: DeallocateKey => ParameterEntry_DeallocateKey

  • private subroutine ParameterEntry_DeallocateKey(this)

    Deallocate Key if allocated

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

procedure, public, non_overridable :: HasValue => ParameterEntry_HasValue

  • private function ParameterEntry_HasValue(this) result(hasValue)

    Check if Value is allocated for the current Node

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value logical

    Check if Value is allocated

procedure, public, non_overridable :: SetValue => ParameterEntry_SetValue

  • private subroutine ParameterEntry_SetValue(this, Value)

    Set a concrete Wrapper

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

    class(*), intent(in), pointer:: Value

    Concrete Wrapper

procedure, public, non_overridable :: GetValue => ParameterEntry_GetValue

  • private subroutine ParameterEntry_GetValue(this, Value)

    Return a concrete WrapperFactory

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    class(*), intent(out), allocatable:: Value

    Concrete Wrapper

procedure, public, non_overridable :: DeallocateValue => ParameterEntry_DeallocateValue

  • private subroutine ParameterEntry_DeallocateValue(this)

    Deallocate Key if allocated

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout) :: this

    Parameter Entry

procedure, public, non_overridable :: PointToValue => ParameterEntry_PointToValue

  • private function ParameterEntry_PointToValue(this) result(Value)

    Return a pointer to a concrete WrapperFactory

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(in) :: this

    Parameter Entry

    Return Value class(*), pointer

    Concrete Wrapper

procedure, public, non_overridable :: GetIterator => ParameterEntry_GetIterator

  • private function ParameterEntry_GetIterator(this) result(Iterator)

    Free the list

    Arguments

    Type IntentOptional AttributesName
    class(ParameterEntry_t), intent(inout), target:: this

    Parameter Entry

    Return Value type(EntryListIterator_t)

    List iterator

Source Code

    type :: ParameterEntry_t
    private
        character(len=:), allocatable         :: Key
        class(*),                    pointer  :: Value  => NULL()
        class(ParameterEntry_t),     pointer  :: Next   => NULL()
    contains
    private
        procedure, non_overridable, public :: Free             => ParameterEntry_Free
        procedure, non_overridable, public :: Print            => ParameterEntry_Print
        procedure, non_overridable, public :: HasNext          => ParameterEntry_HasNext
        procedure, non_overridable, public :: SetNext          => ParameterEntry_SetNext
        procedure, non_overridable, public :: GetNext          => ParameterEntry_GetNext
        procedure, non_overridable, public :: NullifyNext      => ParameterEntry_NullifyNext
        procedure, non_overridable, public :: HasKey           => ParameterEntry_HasKey
        procedure, non_overridable, public :: SetKey           => ParameterEntry_SetKey
        procedure, non_overridable, public :: GetKey           => ParameterEntry_GetKey
        procedure, non_overridable, public :: DeallocateKey    => ParameterEntry_DeallocateKey
        procedure, non_overridable, public :: HasValue         => ParameterEntry_HasValue
        procedure, non_overridable, public :: SetValue         => ParameterEntry_SetValue
        procedure, non_overridable, public :: GetValue         => ParameterEntry_GetValue
        procedure, non_overridable, public :: DeallocateValue  => ParameterEntry_DeallocateValue
        procedure, non_overridable, public :: PointToValue     => ParameterEntry_PointToValue
        procedure, non_overridable, public :: GetIterator      => ParameterEntry_GetIterator
        final                              ::                     ParameterEntry_Finalize 
    end type ParameterEntry_t

Circle_t CircleWrapper_t DimensionsWrapper0D_DLCA_t DimensionsWrapper0D_I1P_t DimensionsWrapper0D_I2P_t DimensionsWrapper0D_I4P_t DimensionsWrapper0D_I8P_t DimensionsWrapper0D_L_t DimensionsWrapper0D_R4P_t DimensionsWrapper0D_R8P_t DimensionsWrapper0D_t DimensionsWrapper1D_DLCA_t DimensionsWrapper1D_I1P_t DimensionsWrapper1D_I2P_t DimensionsWrapper1D_I4P_t DimensionsWrapper1D_I8P_t DimensionsWrapper1D_L_t DimensionsWrapper1D_R4P_t DimensionsWrapper1D_R8P_t DimensionsWrapper1D_t DimensionsWrapper2D_DLCA_t DimensionsWrapper2D_I1P_t DimensionsWrapper2D_I2P_t DimensionsWrapper2D_I4P_t DimensionsWrapper2D_I8P_t DimensionsWrapper2D_L_t DimensionsWrapper2D_R4P_t DimensionsWrapper2D_R8P_t DimensionsWrapper2D_t DimensionsWrapper3D_DLCA_t DimensionsWrapper3D_I1P_t DimensionsWrapper3D_I2P_t DimensionsWrapper3D_I4P_t DimensionsWrapper3D_I8P_t DimensionsWrapper3D_L_t DimensionsWrapper3D_R4P_t DimensionsWrapper3D_R8P_t DimensionsWrapper3D_t DimensionsWrapper4D_DLCA_t DimensionsWrapper4D_I1P_t DimensionsWrapper4D_I2P_t DimensionsWrapper4D_I4P_t DimensionsWrapper4D_I8P_t DimensionsWrapper4D_L_t DimensionsWrapper4D_R4P_t DimensionsWrapper4D_R8P_t DimensionsWrapper4D_t DimensionsWrapper5D_DLCA_t DimensionsWrapper5D_I1P_t DimensionsWrapper5D_I2P_t DimensionsWrapper5D_I4P_t DimensionsWrapper5D_I8P_t DimensionsWrapper5D_L_t DimensionsWrapper5D_R4P_t DimensionsWrapper5D_R8P_t DimensionsWrapper5D_t DimensionsWrapper6D_DLCA_t DimensionsWrapper6D_I1P_t DimensionsWrapper6D_I2P_t DimensionsWrapper6D_I4P_t DimensionsWrapper6D_I8P_t DimensionsWrapper6D_L_t DimensionsWrapper6D_R4P_t DimensionsWrapper6D_R8P_t DimensionsWrapper6D_t DimensionsWrapper7D_DLCA_t DimensionsWrapper7D_I1P_t DimensionsWrapper7D_I2P_t DimensionsWrapper7D_I4P_t DimensionsWrapper7D_I8P_t DimensionsWrapper7D_L_t DimensionsWrapper7D_R4P_t DimensionsWrapper7D_R8P_t DimensionsWrapper7D_t DimensionsWrapper_t EntryListIterator_t ParameterEntry_t ParameterEntryDictionary_t ParameterList_t ParameterListIterator_t ParameterRootEntry_t WrapperFactory_t WrapperFactoryList_t