libsim  Versione7.2.3
list_doubleprecision.F03
1 
18  use list_abstract
19  private
20  public :: doubleprecisionlist
24  type, extends(list) :: doubleprecisionlist
25 #ifdef DOXYGEN
26  integer::none ! doxigen workaround: if missed do not show procedure
27 #endif
28  contains
29 ! procedure :: addDoubleprecision !< add doubleprecision in list
30  procedure :: current => currentdoubleprecision
31  procedure :: display => displaydoubleprecision
32 ! generic :: add => addDoubleprecision
33  end type doubleprecisionlist
34 
35 contains
36 
38 subroutine displaydoubleprecision(this)
39 class(doubleprecisionList),intent(inout) :: this
40 
41 call this%rewind()
42 do while(this%element())
43  print *,"index:",this%currentindex()," value:", this%current()
44  call this%next()
45 end do
46 end subroutine displaydoubleprecision
47 
48 !!$ subroutine addDoubleprecision(this, value)
49 !!$ class(doubleprecisionList) :: this
50 !!$ doubleprecision value
51 !!$ class(*), allocatable :: v
52 !!$
53 !!$ allocate(v,source=value)
54 !!$ call this%addvalue(v)
55 !!$
56 !!$ end subroutine addDoubleprecision
57 
58 
60 doubleprecision function currentdoubleprecision(this)
61 class(doubleprecisionList) :: this
62 class(*), pointer :: v
63 
64 v => this%currentpoli()
65 select type(v)
66 type is (doubleprecision)
67  currentdoubleprecision = v
68 end select
69 end function currentdoubleprecision
70 
71 end module list_doubleprecision
abstract class to use lists in fortran 2003.
Double precision specific implementation of doubly-linked list.
Abstract implementation of doubly-linked list.
class to use lists in fortran 2003.

Generated with Doxygen.