I have a few questions on rootcint and Html documentation generation:
1) rootcint seems to be able to produce Dictionnary for some operator
(like the + operator), but not for the extraction operator: I made a file
managment class called TBlockFile, and a data class, let's say TMyClass
I define the extraction operator:
TBlockFile & operator<<(TBlockFile &,TMyClass);
TBlockFile & operator>>(TBlokcFile &,TMyClass &);
Then, in the LinkDef.h file, I put the two lines:
#pragma link C++ function operator<<(TFileBlock &,TMyClass);
#pragma link C++ function operator>>(TFileBlock &,TMyClass &);
Trying to generate the dictionnary with rootcint, I get the message:
rootcint -f CommonDict.cpp -c -DLINUX -I/home/denauroi/Include
/home/denauroi/Include/defines.h CommonLib/fileblock.h
CommonLib/blockfile.h CommonLib/mathfct.h CommonLib/CommonLinkDef.h
Error: Unexpected EOF G__fgetstream():2
FILE:/home/denauroi/Include/CommonLib/CommonLinkDef.h LINE:44
Advice: You may need to use +P or -p option
Error: Unexpected EOF G__fgetc()
FILE:/home/denauroi/Include/CommonLib/CommonLinkDef.h LINE:44
Advice: You may need to use +P or -p option
If I replace the extraction operator by the + operator, everything
works...
Would you have some advice?
-----------------------------------
2) On THtml:
When I declare some classe with overloaded operator, these operator
always appears as 'inline functions' in the Html automatic
generated documentation, and the documentation is not generated for these
methods. For example, for the class
class complex {
public:
double x,y;
public:
complex(void);
complex(double a,double b);
complex operator+(complex);
complex operator-(complex);
complex operator*(complex);
complex operator/(complex);
complex operator+(double);
complex operator-(double);
complex operator*(double);
complex operator/(double);
complex operator=(double);
ClassDef(complex,0) // Classe de calcul en complexes
};
I just get the documentation for the constructors.
Is this behaviour normal?
--------------------------------------
3) Still on THtml:
When a member function of a class returns a reference to something, the
HTML documentation for this member is not generated, and the member
function appears in the "inline functions" section.
for example:
TMyClass {
....
public:
TMyOtherClass & fct(void);
};
In this case, the documentation for the fct member is not generated.
--------------------------------------
4) Last one, on THtml
Is it possible to have the implementations for two classes in the same
file and properly generate the documentation for the two classes? It seems
to me that THtml takes the first comments as Class Desription for both,
and that there is no way to have two classe descriptions in the same file.
For example, the TFileHandler and the TSysEvtHandler classes of ROOT SDK
are implemented in the same file, and both have the class description of
TSysEvtHandler.
-----------------------------------------
That's all, thanks a lot for your help.
-----------------------------------------------------------------
Mathieu de Naurois
LPNHE Ecole Polytechnique
91128 Palaiseau Cedex
e-mail: denauroi@polhp1.in2p3.fr