[UP]


Manual Reference Pages  - select_type (3)

NAME

select_type(3f) - [FORTRAN:EXECUTION_CONTROL] select_type (LICENSE:PD)

CONTENTS

Synopsis
Description
Example

SYNOPSIS

select_type(VARIABLE)

DESCRIPTION

EXAMPLE

Example

    PROGRAM SELECT_TYPE

TYPE :: POINT REAL :: X, Y

    END TYPE POINT

TYPE, EXTENDS(POINT) :: POINT_3D REAL :: Z END TYPE POINT_3D

TYPE, EXTENDS(POINT) :: COLOR_POINT INTEGER :: COLOR

    END TYPE COLOR_POINT

TYPE(POINT), TARGET :: P TYPE(POINT_3D), TARGET :: P3 TYPE(COLOR_POINT), TARGET :: C

CLASS(POINT), POINTER :: P_OR_C_OR_P3

do i=1,3

      select case(i)
      case(1);P_OR_C_OR_P3 => C
      case(2);P_OR_C_OR_P3 => P
      case(3);P_OR_C_OR_P3 => P3
      end select

SELECT TYPE ( A => P_OR_C_OR_P3 ) CLASS IS ( POINT ) ! any type of the class without a specific "TYPE IS" ! "CLASS ( POINT ) :: A" implied here PRINT *, ’CLASS POINT ’,A%X, A%Y ! This block gets executed TYPE IS ( POINT ) PRINT *, ’POINT ’, A%X, A%Y TYPE IS ( POINT_3D ) ! "TYPE ( POINT_3D ) :: A" implied here PRINT *, ’POINT_3D ’,A%X, A%Y, A%Z

    END SELECT

enddo

    END PROGRAM SELECT_TYPE

! Output !
! CLASS POINT 3.54248252E-40 8.40779079E-45
! POINT 0.00000000 0.00000000
! POINT_3D 0.00000000 3.53541997E-40 8.40779079E-45


select_type (3) November 13, 2019
Generated by manServer 1.08 from 04db2030-429c-4b5c-bd39-cf8c8ab03956 using man macros.