libsim Versione 7.2.0
list_integer.F03
1
17module list_integer
19 private
20 public :: integerlist, toarray_integerl
21
25 type, extends(list) :: integerlist
26#ifdef DOXYGEN
27 integer::none ! doxigen workaround: if missed do not show procedure
28#endif
29 contains
30! procedure :: addInteger !< add integer in list
31 procedure :: current => currentinteger
32 procedure :: display => displayinteger
33 procedure :: toarray => toarray_integerl
34! generic :: add => addInteger
35 end type integerlist
36
37contains
38
40subroutine displayinteger(this)
41class(integerList),intent(inout) :: this
42
43call this%rewind()
44do while(this%element())
45 print *,"index:",this%currentindex()," value:", this%current()
46 call this%next()
47end do
48end subroutine displayinteger
49
50!!$ subroutine addInteger(this, value)
51!!$ class(integerList) :: thisb
52!!$ integer value
53!!$ class(*), allocatable :: v
54!!$
55!!$ allocate(v,source=value)
56!!$ call this%addvalue(v)
57!!$
58!!$ end subroutine addInteger
59
61integer function currentinteger(this)
62class(integerList) :: this
63class(*), pointer :: v
64
65v => this%currentpoli()
66select type(v)
67type is (integer)
68 currentinteger = v
69end select
70end function currentinteger
71
73function toarray_integerl(this)
74integer,allocatable :: toarray_integerl(:)
75class(integerlist) :: this
76
77integer :: i
78
79allocate (toarray_integerl(this%countelements()))
80
81call this%rewind()
82i=0
83do while(this%element())
84 i=i+1
85 toarray_integerl(i) =this%current()
86 call this%next()
87end do
88end function toarray_integerl
89
90
91end module list_integer
abstract class to use lists in fortran 2003.
class to use lists in fortran 2003.
Abstract implementation of doubly-linked list.
Integer specific implementation of doubly-linked list.

Generated with Doxygen.