18MODULE vol7d_serialize_csvdba_class
19use,
INTRINSIC :: iso_c_binding
27 PROCEDURE :: vol7d_serialize_optionparser
28 PROCEDURE :: vol7d_serialize_parse
29 PROCEDURE :: vol7d_serialize_export
30END TYPE vol7d_serialize_csvdba
33PUBLIC vol7d_serialize_csvdba, vol7d_serialize_csvdba_new
37FUNCTION vol7d_serialize_csvdba_new()
RESULT(this)
38TYPE(vol7d_serialize_csvdba) :: this
40this%vol7d_serialize = vol7d_serialize_new()
42END FUNCTION vol7d_serialize_csvdba_new
45SUBROUTINE vol7d_serialize_optionparser(this, opt, ext)
46CLASS(vol7d_serialize_csvdba),
INTENT(inout) :: this
47TYPE(optionparser),
INTENT(inout),
OPTIONAL :: opt
48CHARACTER(len=*),
INTENT(in),
OPTIONAL :: ext
57this%cachedesc = .true.
58this%column =
'ana,network,time,level,timerange,var,value'
59this%loop =
'time,timerange,level,ana,network,var'
62END SUBROUTINE vol7d_serialize_optionparser
65SUBROUTINE vol7d_serialize_parse(this, category)
66CLASS(vol7d_serialize_csvdba),
INTENT(inout) :: this
67TYPE(l4f_handle),
INTENT(in),
OPTIONAL :: category
70CALL this%vol7d_serialize%vol7d_serialize_parse(category)
72END SUBROUTINE vol7d_serialize_parse
75SUBROUTINE vol7d_serialize_export(this, iun)
76CLASS(vol7d_serialize_csvdba),
INTENT(inout) :: this
77INTEGER,
INTENT(in) :: iun
79CHARACTER(len=64),
TARGET,
ALLOCATABLE :: col(:)
80CHARACTER(len=2048),
TARGET :: line
81CHARACTER(len=1),
POINTER :: pline
83TYPE(vol7d_serialize_iterline) :: linei
84TYPE(vol7d_serialize_itercol) :: coli
88coli = this%vol7d_serialize_itercol_new()
92 line(len_trim(line)+1:) =
','
95 pline => line(len_trim(line)+1:len_trim(line)+1)
96 CALL coli%export(c_loc(pline))
99WRITE(iun,
'(A)')trim(line)
103linei = this%vol7d_serialize_iterline_new()
104DO WHILE(linei%next())
106 coli = linei%vol7d_serialize_itercol_new()
107 DO WHILE(coli%next())
110 line(len_trim(line)+1:) =
','
112 CALL coli%export(c_loc(col(i)(1:1)))
113 line(len_trim(line)+1:) = col(i)
115 WRITE(iun,
'(A)')trim(line)
118END SUBROUTINE vol7d_serialize_export
120END MODULE vol7d_serialize_csvdba_class
classe per la gestione del logging
Module for parsing command-line optons.
Extension of vol7d_class for serializing the contents of a volume.
Class for serializing a vol7d object.