PercentageColumn Derived Type

type, public, extends(AbstractColumn) :: PercentageColumn


Inherits

type~~percentagecolumn~~InheritsGraph type~percentagecolumn PercentageColumn type~abstractcolumn AbstractColumn type~percentagecolumn->type~abstractcolumn reference_column type~percentagecolumn->type~abstractcolumn

Constructor

public interface PercentageColumn

  • private function new_PercentageColumn(reference_column, mode) result(column)

    Arguments

    Type IntentOptional Attributes Name
    class(AbstractColumn), intent(in) :: reference_column
    character(len=*), intent(in), optional :: mode

    Return Value type(PercentageColumn)


Type-Bound Procedures

generic, public :: fill_row => fill_row_real64_stats, fill_row_integer_stats

  • private subroutine fill_row_real64_stats(stats, option, row)

    Arguments

    Type IntentOptional Attributes Name
    type(DistributedReal64), intent(in) :: stats
    character(len=*), intent(in) :: option
    class(*), intent(out), allocatable :: row
  • private subroutine fill_row_integer_stats(stats, option, row)

    Arguments

    Type IntentOptional Attributes Name
    type(DistributedInteger), intent(in) :: stats
    character(len=*), intent(in) :: option
    class(*), intent(out), allocatable :: row

procedure, public, nopass :: fill_row_integer_stats

  • private subroutine fill_row_integer_stats(stats, option, row)

    Arguments

    Type IntentOptional Attributes Name
    type(DistributedInteger), intent(in) :: stats
    character(len=*), intent(in) :: option
    class(*), intent(out), allocatable :: row

procedure, public, nopass :: fill_row_real64_stats

  • private subroutine fill_row_real64_stats(stats, option, row)

    Arguments

    Type IntentOptional Attributes Name
    type(DistributedReal64), intent(in) :: stats
    character(len=*), intent(in) :: option
    class(*), intent(out), allocatable :: row

procedure, public :: get_row

  • private function get_row(this, node) result(row)

    Arguments

    Type IntentOptional Attributes Name
    class(PercentageColumn), intent(in) :: this
    class(AbstractMeterNode), intent(in), target :: node

    Return Value class(*), allocatable

procedure, public :: get_rows

  • private function get_rows(this, node) result(rows)

    Arguments

    Type IntentOptional Attributes Name
    class(PercentageColumn), intent(in) :: this
    class(AbstractMeterNode), intent(in), target :: node

    Return Value type(UnlimitedVector)

Source Code

   type, extends(AbstractColumn) :: PercentageColumn
      private
      character(:), allocatable :: mode
      class (AbstractColumn), allocatable :: reference_column
   contains
      procedure :: get_rows
      procedure :: get_row
   end type PercentageColumn