ROOT logo
ROOT » HTML » TClassDocOutput

class TClassDocOutput: public TDocOutput


 Write the documentation for a class or namespace. The documentation is
 parsed by TDocParser and then passed to TClassDocOutput to generate
 the class doc header, the class description, members overview, and method
 documentation. All generic output functionality is in TDocOutput; it is
 re-used in this derived class.

 You usually do not use this class yourself; it is invoked indirectly by
 THtml. Customization of the output should happen via the interfaces defined
 by THtml.

Function Members (Methods)

public:
TClassDocOutput(const TClassDocOutput&)
TClassDocOutput(THtml& html, TClass* cl, TList* typedefs)
virtual~TClassDocOutput()
voidTObject::AbstractMethod(const char* method) const
virtual voidTDocOutput::AdjustSourcePath(TString& line, const char* relpath = "../")
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
static TClass*Class()
voidClass2Html(Bool_t force = kFALSE)
Bool_tClassDotCharts(ostream& out)
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
voidTDocOutput::Convert(istream& in, const char* infilename, const char* outfilename, const char* title, const char* relpath = "../", Int_t includeOutput = 0, const char* context = "", TGClient* gclient = 0)
virtual voidTObject::Copy(TObject& object) const
Bool_tTDocOutput::CopyHtmlFile(const char* sourceName, const char* destName = "")
voidCreateClassHierarchy(ostream& out, const char* docFileName)
virtual voidTDocOutput::CreateClassIndex()
virtual voidTDocOutput::CreateClassTypeDefs()
virtual voidTDocOutput::CreateHierarchy()
virtual voidTDocOutput::CreateModuleIndex()
virtual voidTDocOutput::CreateProductIndex()
virtual voidTDocOutput::CreateTypeIndex()
virtual voidTDocOutput::DecorateEntityBegin(TString& str, Ssiz_t& pos, TDocParser::EParseContext type)
virtual voidTDocOutput::DecorateEntityEnd(TString& str, Ssiz_t& pos, TDocParser::EParseContext type)
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual voidTDocOutput::FixupAuthorSourceInfo(TString& authors)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
const char*TDocOutput::GetExtension() const
THtml*TDocOutput::GetHtml()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
virtual Bool_tTDocOutput::IsModified(TClass* classPtr, TDocOutput::EFileType type)
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidMakeTree(Bool_t force = kFALSE)
voidTObject::MayNotUse(const char* method) const
virtual voidTDocOutput::NameSpace2FileName(TString& name)
virtual Bool_tTObject::Notify()
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TClassDocOutput&operator=(const TClassDocOutput&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual voidTDocOutput::ReferenceEntity(TSubString& str, TClass* entity, const char* comment = 0)
virtual voidTDocOutput::ReferenceEntity(TSubString& str, TDataMember* entity, const char* comment = 0)
virtual voidTDocOutput::ReferenceEntity(TSubString& str, TDataType* entity, const char* comment = 0)
virtual voidTDocOutput::ReferenceEntity(TSubString& str, TMethod* entity, const char* comment = 0)
virtual Bool_tTDocOutput::ReferenceIsRelative(const char* reference) const
virtual const char*TDocOutput::ReplaceSpecialChars(char c)
voidTDocOutput::ReplaceSpecialChars(TString& text)
voidTDocOutput::ReplaceSpecialChars(ostream& out, const char* string)
voidTDocOutput::ReplaceSpecialChars(TString& text, Ssiz_t& pos)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidTDocOutput::WriteHtmlFooter(ostream& out, const char* dir = "", const char* lastUpdate = "", const char* author = "", const char* copyright = "")
virtual voidTDocOutput::WriteHtmlHeader(ostream& out, const char* title, const char* dir = "", TClass* cls = 0)
voidTDocOutput::WriteLineNumbers(ostream& out, Long_t nLines, const TString& infileBase) const
protected:
voidTDocOutput::AddLink(TSubString& str, TString& link, const char* comment)
intTDocOutput::CaseInsensitiveSort(const void* name1, const void* name2)
voidClassHtmlTree(ostream& out, TClass* classPtr, TClassDocOutput::ETraverse dir = kBoth, int depth = 1)
voidClassTree(TVirtualPad* canvas, Bool_t force = kFALSE)
Bool_tCreateDotClassChartIncl(const char* filename)
Bool_tCreateDotClassChartInh(const char* filename)
Bool_tCreateDotClassChartInhMem(const char* filename)
Bool_tCreateDotClassChartLib(const char* filename)
Bool_tCreateHierarchyDot()
voidCreateSourceOutputStream(ostream& out, const char* extension, TString& filename)
voidDescendHierarchy(ostream& out, TClass* basePtr, Int_t maxLines = 0, Int_t depth = 1)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidListDataMembers(ostream& classFile)
virtual voidListFunctions(ostream& classFile)
voidTObject::MakeZombie()
voidTDocOutput::ProcessDocInDir(ostream& out, const char* indir, const char* outdir, const char* linkdir)
Bool_tTDocOutput::RunDot(const char* filename, ostream* outMap = 0, TDocOutput::EGraphvizTool gvwhat = kDot)
virtual voidWriteClassDescription(ostream& out, const TString& description)
virtual voidWriteClassDocHeader(ostream& classFile)
voidTDocOutput::WriteHtmlFooter(ostream& out, const char* dir, const char* lastUpdate, const char* author, const char* copyright, const char* footer)
voidTDocOutput::WriteHtmlHeader(ostream& out, const char* titleNoSpecial, const char* dir, TClass* cls, const char* header)
voidTDocOutput::WriteLocation(ostream& out, TModuleDocInfo* module, const char* classname = 0)
virtual voidWriteMethod(ostream& out, TString& ret, TString& name, TString& params, const char* file, TString& anchor, TString& comment, TString& codeOneLiner, TDocMethodWrapper* guessedMethod)
voidTDocOutput::WriteModuleLinks(ostream& out)
voidTDocOutput::WriteModuleLinks(ostream& out, TModuleDocInfo* super)
virtual voidTDocOutput::WriteSearch(ostream& out)
voidTDocOutput::WriteTopLinks(ostream& out, TModuleDocInfo* module, const char* classname = 0, Bool_t withLocation = kTRUE)

Data Members

public:
enum ETraverse { kUp
kDown
kBoth
};
enum TDocOutput::EGraphvizTool { kDot
kNeato
kFdp
kCirco
};
enum TDocOutput::EFileType { kSource
kInclude
kTree
kDoc
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
TClass*fCurrentClassclass to generate output for
TList*fCurrentClassesTypedefstypedefs to the current class
Int_tfHierarchyLinescounter for no. lines in hierarchy
THtml*TDocOutput::fHtmlTHtml object we belong to
TDocParser*fParserparser we use

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TClassDocOutput(THtml& html, TClass* cl, TList* typedefs)
 Create an object given the invoking THtml object, and the TClass
 object that we will generate output for.
~TClassDocOutput()
 Destructor, deletes fParser
void Class2Html(Bool_t force = kFALSE)
 Create HTML files for a single class.

void ListFunctions(ostream& classFile)
 Write the list of functions
void ListDataMembers(ostream& classFile)
 Write the list of data members and enums
Bool_t ClassDotCharts(ostream& out)
 This function builds the class charts for one class in GraphViz/Dot format,
 i.e. the inheritance diagram, the include dependencies, and the library
 dependency.

 Input: out      - output file stream
void ClassHtmlTree(ostream& out, TClass* classPtr, TClassDocOutput::ETraverse dir = kBoth, int depth = 1)
 This function builds the class tree for one class in HTML
 (inherited and succeeding classes, called recursively)


 Input: out      - output file stream
        classPtr - pointer to the class
        dir      - direction to traverse tree: up, down or both

void ClassTree(TVirtualPad* canvas, Bool_t force = kFALSE)
 It makes a graphical class tree


 Input: psCanvas - pointer to the current canvas
        classPtr - pointer to the class

Bool_t CreateDotClassChartInh(const char* filename)
 Build the class tree for one class in GraphViz/Dot format


 Input: filename - output dot file incl. path
Bool_t CreateDotClassChartInhMem(const char* filename)
 Build the class tree of inherited members for one class in GraphViz/Dot format

 Input: filename - output dot file incl. path
Bool_t CreateDotClassChartIncl(const char* filename)
 Build the include dependency graph for one class in
 GraphViz/Dot format

 Input: filename - output dot file incl. path
Bool_t CreateDotClassChartLib(const char* filename)
 Build the library dependency graph for one class in
 GraphViz/Dot format

 Input: filename - output dot file incl. path
void CreateClassHierarchy(ostream& out, const char* docFileName)
 Create the hierarchical class list part for the current class's
 base classes. docFileName contains doc for fCurrentClass.

Bool_t CreateHierarchyDot()
 Create a hierarchical class list
 The algorithm descends from the base classes and branches into
 all derived classes. Mixing classes are displayed several times.


void CreateSourceOutputStream(ostream& out, const char* extension, TString& filename)
 Open a Class.cxx.html file, where Class is defined by classPtr, and .cxx.html by extension
 It's created in fHtml->GetOutputDir()/src. If successful, the HTML header is written to out.
void DescendHierarchy(ostream& out, TClass* basePtr, Int_t maxLines = 0, Int_t depth = 1)
 Descend hierarchy recursively
 loop over all classes and look for classes with base class basePtr
void MakeTree(Bool_t force = kFALSE)
 Create an output file with a graphical representation of the class
 inheritance. If force, replace existing output file.
 This routine does nothing if fHtml->HaveDot() is true - use
 ClassDotCharts() instead!
void WriteClassDescription(ostream& out, const TString& description)
 Called by TDocParser::LocateMethods(), this hook writes out the class description
 found by TDocParser. It's even called if none is found, i.e. if the first method
 has occurred before a class description is found, so missing class descriptions
 can be handled.
 For HTML, its creates the description block, the list of functions and data
 members, and the inheritance tree or, if Graphviz's dot is found, the class charts.
void WriteClassDocHeader(ostream& classFile)
 Write out the introduction of a class description (shortcuts and links)
void WriteMethod(ostream& out, TString& ret, TString& name, TString& params, const char* file, TString& anchor, TString& comment, TString& codeOneLiner, TDocMethodWrapper* guessedMethod)
 Write method name with return type ret and parameters param to out.
 Build a link using file and anchor. Cooment it with comment, and
 show the code codeOneLiner (set if the func consists of only one line
 of code, immediately surrounded by "{","}"). Also updates fMethodNames's
 count of method names.
TClassDocOutput(THtml& html, TClass* cl, TList* typedefs)