libsim Versione 7.2.4
list_doubleprecision.F03
1
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
35contains
36
38subroutine displaydoubleprecision(this)
39class(doubleprecisionList),intent(inout) :: this
40
41call this%rewind()
42do while(this%element())
43 print *,"index:",this%currentindex()," value:", this%current()
44 call this%next()
45end do
46end 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
60doubleprecision function currentdoubleprecision(this)
61class(doubleprecisionList) :: this
62class(*), pointer :: v
63
64v => this%currentpoli()
65select type(v)
66type is (doubleprecision)
67 currentdoubleprecision = v
68end select
69end function currentdoubleprecision
70
abstract class to use lists in fortran 2003.
class to use lists in fortran 2003.
Abstract implementation of doubly-linked list.
Double precision specific implementation of doubly-linked list.

Generated with Doxygen.