1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
program main
use Values_mod
use ValueTypeMap_mod
implicit none
class(AbstractValue),pointer :: vp
type(ValueTypeMap) :: vtMap1,vtMap2
integer :: k
integer,allocatable :: k1(:)
logical :: L
logical,allocatable :: L1(:)
real(kind=DP) :: r
real(kind=DP),allocatable :: r1(:)
character(len=MAX_LEN_ATTRIBUTE_STRING) :: s
character(len=MAX_LEN_ATTRIBUTE_STRING),allocatable :: s1(:)
class(AbstractValue),allocatable :: AbV
call vtMap1%init()
vp=>vtMap1%at('integer')
k= vp
print*,k
vp=>vtMap1%at('integer1D')
k1 = vp
print *,k1
vp=>vtMap1%at('logical')
L = vp
print*,L
vp=>vtMap1%at('logical1D')
L1=vp
print*,L1
vp=>vtMap1%at('realDP')
r = vp
print*,r
vp=>vtMap1%at('realDP1D')
r1=vp
print*,r1
vp=>vtMap1%at('string')
s=vp
print*,s
vp=>vtMap1%at('string1D')
s1 = vp
print*,s1
! test Copy of ValueTypeMap
vtMap2 = vtMap1
vp=>vtMap2%at('string1D')
call vp%print()
L=vtMap1%get('string1D',vp)
if(L) then
call vp%print()
endif
end program main
|