LCIO  "2.7.4"
 All Classes Namespaces Functions Variables Typedefs Friends Pages
lcvec.h
1 
7 #include "cfortran.h"
8 #include "cpointer.h"
9 
10 #include <string>
11 #include <vector>
12 
13 
14 typedef std::vector<std::string> LCStrVec ;
15 typedef std::vector<PTRTYPE> PointerVec ;
16 
17 
18 // define an interface to a LC string/int/float vector
19 int lcsvcgetlength(PTRTYPE strvec) ;
20 char* lcsvcgetstringat(PTRTYPE strvec, int index) ;
21 
22 int lcivcgetlength(PTRTYPE intvec) ;
23 int lcivcgetintat(PTRTYPE intvec, int index) ;
24 
25 int lcfvcgetlength(PTRTYPE floatvec) ;
26 float lcfvcgetfloatat(PTRTYPE floatvec, int index) ;
27 
28 // define an interface to read a standard string/int/pointer/float vector
29 int stringvectorgetlength(PTRTYPE strvec) ;
30 char* stringvectorgetelement(PTRTYPE strvec, int index) ;
31 
32 int intvectorgetlength(PTRTYPE intvec) ;
33 int intvectorgetelement(PTRTYPE intvec, int index) ;
34 
35 int pointervectorgetlength(PTRTYPE intvec) ;
36 PTRTYPE pointervectorgetelement(PTRTYPE intvec, int index) ;
37 
38 int floatvectorgetlength(PTRTYPE floatvec) ;
39 float floatvectorgetelement(PTRTYPE floatvec, int index) ;
40 
41 // now the fortran wrappers from cfortran.h
42 extern "C"{
43 
44 FCALLSCFUN1(INT, lcsvcgetlength, LCSVCGETLENGTH, lcsvcgetlength, CFORTRANPNTR )
45 FCALLSCFUN2(STRING, lcsvcgetstringat, LCSVCGETSTRINGAT, lcsvcgetstringat, CFORTRANPNTR, INT )
46 
47 FCALLSCFUN1(INT, lcivcgetlength, LCIVCGETLENGTH, lcivcgetlength, CFORTRANPNTR )
48 FCALLSCFUN2(INT, lcivcgetintat, LCIVCGETINTAT, lcivcgetintat, CFORTRANPNTR, INT )
49 
50 FCALLSCFUN1(INT, lcfvcgetlength, LCFVCGETLENGTH, lcfvcgetlength, CFORTRANPNTR )
51 FCALLSCFUN2(FLOAT, lcfvcgetfloatat, LCFVCGETFLOATAT, lcfvcgetfloatat, CFORTRANPNTR, INT )
52 
53 
54 FCALLSCFUN1(INT, stringvectorgetlength, STRINGVECTORGETLENGTH, stringvectorgetlength, CFORTRANPNTR )
55 FCALLSCFUN2(STRING, stringvectorgetelement, STRINGVECTORGETELEMENT, stringvectorgetelement, CFORTRANPNTR, INT )
56 
57 FCALLSCFUN1(INT, intvectorgetlength, INTVECTORGETLENGTH, intvectorgetlength, CFORTRANPNTR )
58 FCALLSCFUN2(INT, intvectorgetelement, INTVECTORGETELEMENT, intvectorgetelement, CFORTRANPNTR, INT )
59 
60 FCALLSCFUN1(INT, pointervectorgetlength, POINTERVECTORGETLENGTH, pointervectorgetlength, CFORTRANPNTR )
61 FCALLSCFUN2(CFORTRANPNTR, pointervectorgetelement, POINTERVECTORGETELEMENT, pointervectorgetelement, CFORTRANPNTR, INT )
62 
63 FCALLSCFUN1(INT, floatvectorgetlength, FLOATVECTORGETLENGTH, floatvectorgetlength, CFORTRANPNTR )
64 FCALLSCFUN2(FLOAT, floatvectorgetelement, FLOATVECTORGETELEMENT, floatvectorgetelement, CFORTRANPNTR, INT )
65 
66 }
67