libsim  Versione 7.2.4
list_integer.F03
1 
17 module list_integer
18  use list_abstract
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 
37 contains
38 
40 subroutine displayinteger(this)
41 class(integerList),intent(inout) :: this
42 
43 call this%rewind()
44 do while(this%element())
45  print *,"index:",this%currentindex()," value:", this%current()
46  call this%next()
47 end do
48 end 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 
61 integer function currentinteger(this)
62 class(integerList) :: this
63 class(*), pointer :: v
64 
65 v => this%currentpoli()
66 select type(v)
67 type is (integer)
68  currentinteger = v
69 end select
70 end function currentinteger
71 
73 function toarray_integerl(this)
74 integer,allocatable :: toarray_integerl(:)
75 class(integerlist) :: this
76 
77 integer :: i
78 
79 allocate (toarray_integerl(this%countelements()))
80 
81 call this%rewind()
82 i=0
83 do while(this%element())
84  i=i+1
85  toarray_integerl(i) =this%current()
86  call this%next()
87 end do
88 end function toarray_integerl
89 
90 
91 end 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.