AbstractGauge.F90 Source File


This file depends on

sourcefile~~abstractgauge.f90~~EfferentGraph sourcefile~abstractgauge.f90 AbstractGauge.F90 sourcefile~abstractmeter.f90 AbstractMeter.F90 sourcefile~abstractgauge.f90->sourcefile~abstractmeter.f90 sourcefile~mapl_errorhandling.f90 MAPL_ErrorHandling.F90 sourcefile~abstractmeter.f90->sourcefile~mapl_errorhandling.f90 sourcefile~mapl_throw.f90 MAPL_Throw.F90 sourcefile~mapl_errorhandling.f90->sourcefile~mapl_throw.f90

Files dependent on this one

sourcefile~~abstractgauge.f90~~AfferentGraph sourcefile~abstractgauge.f90 AbstractGauge.F90 sourcefile~advancedmeter.f90 AdvancedMeter.F90 sourcefile~advancedmeter.f90->sourcefile~abstractgauge.f90 sourcefile~distributedmeter.f90 DistributedMeter.F90 sourcefile~distributedmeter.f90->sourcefile~abstractgauge.f90 sourcefile~distributedmeter.f90->sourcefile~advancedmeter.f90 sourcefile~distributedprofiler.f90 DistributedProfiler.F90 sourcefile~distributedprofiler.f90->sourcefile~abstractgauge.f90 sourcefile~distributedprofiler.f90->sourcefile~advancedmeter.f90 sourcefile~distributedprofiler.f90->sourcefile~distributedmeter.f90 sourcefile~mpitimergauge.f90 MpiTimerGauge.F90 sourcefile~distributedprofiler.f90->sourcefile~mpitimergauge.f90 sourcefile~fortrantimergauge.f90 FortranTimerGauge.F90 sourcefile~fortrantimergauge.f90->sourcefile~abstractgauge.f90 sourcefile~mpitimergauge.f90->sourcefile~abstractgauge.f90 sourcefile~rssmemorygauge.f90 RssMemoryGauge.F90 sourcefile~rssmemorygauge.f90->sourcefile~abstractgauge.f90 sourcefile~vmstatmemorygauge.f90 VmstatMemoryGauge.F90 sourcefile~vmstatmemorygauge.f90->sourcefile~abstractgauge.f90 sourcefile~abstractcolumn.f90 AbstractColumn.F90 sourcefile~abstractcolumn.f90->sourcefile~distributedmeter.f90 sourcefile~baseprofiler.f90 BaseProfiler.F90 sourcefile~baseprofiler.f90->sourcefile~advancedmeter.f90 sourcefile~exclusivecolumn.f90 ExclusiveColumn.F90 sourcefile~exclusivecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~inclusivecolumn.f90 InclusiveColumn.F90 sourcefile~inclusivecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~mapl_profiler.f90~2 MAPL_Profiler.F90 sourcefile~mapl_profiler.f90~2->sourcefile~advancedmeter.f90 sourcefile~mapl_profiler.f90~2->sourcefile~distributedmeter.f90 sourcefile~mapl_profiler.f90~2->sourcefile~distributedprofiler.f90 sourcefile~mapl_profiler.f90~2->sourcefile~fortrantimergauge.f90 sourcefile~mapl_profiler.f90~2->sourcefile~mpitimergauge.f90 sourcefile~mapl_profiler.f90~2->sourcefile~rssmemorygauge.f90 sourcefile~mapl_profiler.f90~2->sourcefile~vmstatmemorygauge.f90 sourcefile~maxcyclecolumn.f90 MaxCycleColumn.F90 sourcefile~maxcyclecolumn.f90->sourcefile~advancedmeter.f90 sourcefile~maxcyclecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~meancyclecolumn.f90 MeanCycleColumn.F90 sourcefile~meancyclecolumn.f90->sourcefile~advancedmeter.f90 sourcefile~meancyclecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~memoryprofiler.f90 MemoryProfiler.F90 sourcefile~memoryprofiler.f90->sourcefile~advancedmeter.f90 sourcefile~memoryprofiler.f90->sourcefile~rssmemorygauge.f90 sourcefile~memoryprofiler.f90->sourcefile~vmstatmemorygauge.f90 sourcefile~mincyclecolumn.f90 MinCycleColumn.F90 sourcefile~mincyclecolumn.f90->sourcefile~advancedmeter.f90 sourcefile~mincyclecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~numcyclescolumn.f90 NumCyclesColumn.F90 sourcefile~numcyclescolumn.f90->sourcefile~advancedmeter.f90 sourcefile~simplecolumn.f90 SimpleColumn.F90 sourcefile~simplecolumn.f90->sourcefile~distributedmeter.f90 sourcefile~stddevcolumn.f90 StdDevColumn.F90 sourcefile~stddevcolumn.f90->sourcefile~advancedmeter.f90 sourcefile~stddevcolumn.f90->sourcefile~distributedmeter.f90 sourcefile~timeprofiler.f90 TimeProfiler.F90 sourcefile~timeprofiler.f90->sourcefile~advancedmeter.f90 sourcefile~timeprofiler.f90->sourcefile~mpitimergauge.f90

Source Code

module MAPL_AbstractGauge
   use, intrinsic :: iso_fortran_env, only: REAL64
   use MAPL_AbstractMeter
   implicit none
   private

   public :: AbstractGauge
   type, abstract :: AbstractGauge
      private
   contains
      procedure(i_get_measurement), deferred :: get_measurement
   end type AbstractGauge


   abstract interface

      function i_get_measurement(this) result(measurement)
         import REAL64
         import AbstractGauge
         real(kind=REAL64) :: measurement
         class (AbstractGauge), intent(inout) :: this
      end function i_get_measurement

   end interface


end module MAPL_AbstractGauge