Doxygen
Loading...
Searching...
No Matches
docbookgen.cpp File Reference
#include "docbookgen.h"
#include "classdef.h"
#include "classlist.h"
#include "conceptdef.h"
#include "config.h"
#include "diagram.h"
#include "dir.h"
#include "docbookvisitor.h"
#include "docparser.h"
#include "dotcallgraph.h"
#include "dotclassgraph.h"
#include "dotdirdeps.h"
#include "dotgroupcollaboration.h"
#include "dotincldepgraph.h"
#include "doxygen.h"
#include "filename.h"
#include "groupdef.h"
#include "language.h"
#include "message.h"
#include "moduledef.h"
#include "namespacedef.h"
#include "outputgen.h"
#include "outputlist.h"
#include "pagedef.h"
#include "parserintf.h"
#include "section.h"
#include "util.h"
Include dependency graph for docbookgen.cpp:

Go to the source code of this file.

Macros

#define Docbook_DB(x)
#define DB_GEN_C
#define DB_GEN_C1(x)
#define DB_GEN_C2(y)
#define DB_GEN_C2a(x, y)

Functions

void writeDocbookString (TextStream &t, const DString &s)
void writeDocbookCodeString (bool hide, TextStream &t, const DString &str, size_t &col, size_t stripIndentAmount)
static void addIndexTerm (TextStream &t, DString prim, DString sec="")
void writeDocbookLink (TextStream &t, const DString &, const DString &compoundId, const DString &anchorId, const DString &text, const DString &)
static DString objectLinkToString (const DString &, const DString &f, const DString &anchor, const DString &text)

Variables

static constexpr auto hex ="0123456789ABCDEF"

Macro Definition Documentation

◆ DB_GEN_C

#define DB_GEN_C

Definition at line 62 of file docbookgen.cpp.

Referenced by DocbookGenerator::addIndexItem(), DocbookGenerator::addLabel(), DocbookGenerator::DocbookGenerator(), DocbookGenerator::docify(), DocbookGenerator::endBold(), DocbookGenerator::endCallGraph(), DocbookGenerator::endClassDiagram(), DocbookGenerator::endCompoundTemplateParams(), DocbookGenerator::endConstraintDocs(), DocbookGenerator::endConstraintList(), DocbookGenerator::endConstraintParam(), DocbookGenerator::endConstraintType(), DocbookGenerator::endDescTable(), DocbookGenerator::endDescTableData(), DocbookGenerator::endDescTableInit(), DocbookGenerator::endDescTableRow(), DocbookGenerator::endDescTableTitle(), DocbookGenerator::endDirDepGraph(), DocbookGenerator::endDotGraph(), DocbookGenerator::endDoxyAnchor(), DocbookGenerator::endExamples(), DocbookGenerator::endFile(), DocbookGenerator::endGroupCollaboration(), DocbookGenerator::endGroupHeader(), DocbookGenerator::endInclDepGraph(), DocbookGenerator::endInlineMemberDoc(), DocbookGenerator::endInlineMemberName(), DocbookGenerator::endInlineMemberType(), DocbookGenerator::endLabels(), DocbookGenerator::endMemberDoc(), DocbookGenerator::endMemberDocList(), DocbookGenerator::endMemberDocName(), DocbookGenerator::endMemberDocPrefixItem(), DocbookGenerator::endMemberDocSimple(), DocbookGenerator::endMemberGroup(), DocbookGenerator::endMemberGroupHeader(), DocbookGenerator::endMemberHeader(), DocbookGenerator::endMemberItem(), DocbookGenerator::endMemberList(), DocbookGenerator::endMemberTemplateParams(), DocbookGenerator::endParagraph(), DocbookGenerator::endParameterDefVal(), DocbookGenerator::endParameterExtra(), DocbookGenerator::endParameterList(), DocbookGenerator::endParameterName(), DocbookGenerator::endSection(), DocbookGenerator::endTextBlock(), DocbookGenerator::endTitleHead(), DocbookGenerator::endTypewriter(), DocbookGenerator::exceptionEntry(), DocbookGenerator::lineBreak(), objectLinkToString(), DocbookGenerator::startBold(), DocbookGenerator::startCallGraph(), DocbookGenerator::startClassDiagram(), DocbookGenerator::startCompoundTemplateParams(), DocbookGenerator::startConstraintDocs(), DocbookGenerator::startConstraintList(), DocbookGenerator::startConstraintParam(), DocbookGenerator::startConstraintType(), DocbookGenerator::startDescTable(), DocbookGenerator::startDescTableData(), DocbookGenerator::startDescTableInit(), DocbookGenerator::startDescTableRow(), DocbookGenerator::startDescTableTitle(), DocbookGenerator::startDirDepGraph(), DocbookGenerator::startDotGraph(), DocbookGenerator::startDoxyAnchor(), DocbookGenerator::startExamples(), DocbookGenerator::startFile(), DocbookGenerator::startGroupCollaboration(), DocbookGenerator::startInclDepGraph(), DocbookGenerator::startInlineMemberDoc(), DocbookGenerator::startInlineMemberName(), DocbookGenerator::startInlineMemberType(), DocbookGenerator::startLabels(), DocbookGenerator::startMemberDocList(), DocbookGenerator::startMemberDocName(), DocbookGenerator::startMemberDocPrefixItem(), DocbookGenerator::startMemberDocSimple(), DocbookGenerator::startMemberGroup(), DocbookGenerator::startMemberGroupHeader(), DocbookGenerator::startMemberHeader(), DocbookGenerator::startMemberItem(), DocbookGenerator::startMemberList(), DocbookGenerator::startMemberTemplateParams(), DocbookGenerator::startParagraph(), DocbookGenerator::startParameterDefVal(), DocbookGenerator::startParameterExtra(), DocbookGenerator::startParameterList(), DocbookGenerator::startParameterName(), DocbookGenerator::startSection(), DocbookGenerator::startTextBlock(), DocbookGenerator::startTitleHead(), DocbookGenerator::startTypewriter(), DocbookGenerator::writeChar(), DocbookGenerator::writeDoc(), DocbookGenerator::writeInheritedSectionTitle(), DocbookGenerator::writeLabel(), DocbookGenerator::writeNonBreakableSpace(), DocbookGenerator::writeObjectLink(), DocbookGenerator::writePageLink(), and DocbookGenerator::writeString().

◆ DB_GEN_C1

#define DB_GEN_C1 ( x)

◆ DB_GEN_C2

◆ DB_GEN_C2a

#define DB_GEN_C2a ( x,
y )

Definition at line 65 of file docbookgen.cpp.

◆ Docbook_DB

Function Documentation

◆ addIndexTerm()

void addIndexTerm ( TextStream & t,
DString prim,
DString sec = "" )
static

Definition at line 130 of file docbookgen.cpp.

131{
132 t << "<indexterm><primary>";
134 t << "</primary>";
135 if (!sec.empty())
136 {
137 t << "<secondary>";
139 t << "</secondary>";
140 }
141 t << "</indexterm>\n";
142}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
static DString convertToDocbook(const DString &s, bool retainNewline=false, bool citeEntry=false)

References DocbookGenerator::convertToDocbook().

Referenced by DocbookGenerator::addIndexItem(), DocbookGenerator::endTitleHead(), and DocbookGenerator::startMemberDoc().

◆ objectLinkToString()

DString objectLinkToString ( const DString & ,
const DString & f,
const DString & anchor,
const DString & text )
static

Definition at line 766 of file docbookgen.cpp.

768{
770 DString result;
771 if (!anchor.empty())
772 {
773 if (!f.empty()) result += "<link linkend=\"_" + stripPath(f) + "_1" + anchor + "\">";
774 else result += "<link linkend=\"_" + anchor + "\">";
775 }
776 else
777 {
778 result += "<link linkend=\"_" + stripPath(f) + "\">";
779 }
781 result += "</link>";
782 return result;
783}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:84
#define DB_GEN_C
DString stripPath(const DString &s)
Definition util.cpp:3960

References DocbookGenerator::convertToDocbook(), DB_GEN_C, DString::empty(), and stripPath().

Referenced by DocbookGenerator::writeInheritedSectionTitle(), and DocbookGenerator::writeObjectLink().

◆ writeDocbookCodeString()

void writeDocbookCodeString ( bool hide,
TextStream & t,
const DString & str,
size_t & col,
size_t stripIndentAmount )
inline

Definition at line 75 of file docbookgen.cpp.

76{
77 if (str.empty()) return;
78 const int tabSize = Config_getInt(TAB_SIZE);
79 const char *s = str.data();
80 char c=0;
81 if (hide)
82 {
83 col = updateColumnCount(s,col);
84 }
85 else
86 {
87 while ((c=*s++))
88 {
89 switch(c)
90 {
91 case '\t':
92 {
93 int spacesToNextTabStop = tabSize - (col%tabSize);
94 while (spacesToNextTabStop--)
95 {
96 if (col>=stripIndentAmount) t << "&#32;";
97 col++;
98 }
99 break;
100 }
101 case ' ':
102 if (col>=stripIndentAmount) t << "&#32;";
103 col++;
104 break;
105 case '<': t << "&lt;"; col++; break;
106 case '>': t << "&gt;"; col++; break;
107 case '&': t << "&amp;"; col++; break;
108 case '\'': t << "&apos;"; col++; break;
109 case '"': t << "&quot;"; col++; break;
110 default:
111 {
112 uint8_t uc = static_cast<uint8_t>(c);
113 static const char *hex="0123456789ABCDEF";
114 if (uc<32)
115 {
116 t << "&#x24" << hex[uc>>4] << hex[uc&0xF] << ";";
117 }
118 else
119 {
120 t << c;
121 }
122 col++;
123 }
124 break;
125 }
126 }
127 }
128}
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
Definition dstring.h:157
#define Config_getInt(name)
Definition config.h:34
static constexpr auto hex
size_t updateColumnCount(const char *s, size_t col)
Definition outputgen.cpp:58

References Config_getInt, DString::data(), DString::empty(), hex, and updateColumnCount().

Referenced by DocbookCodeGenerator::codify().

◆ writeDocbookLink()

void writeDocbookLink ( TextStream & t,
const DString & ,
const DString & compoundId,
const DString & anchorId,
const DString & text,
const DString &  )

Definition at line 143 of file docbookgen.cpp.

145{
146 t << "<link linkend=\"_" << stripPath(compoundId);
147 if (!anchorId.empty()) t << "_1" << anchorId;
148 t << "\"";
149 t << ">";
150 writeDocbookString(t,text);
151 t << "</link>";
152}
void writeDocbookString(TextStream &t, const DString &s)

References DString::empty(), stripPath(), and writeDocbookString().

Referenced by DocbookCodeGenerator::writeCodeLink().

◆ writeDocbookString()

void writeDocbookString ( TextStream & t,
const DString & s )
inline

Variable Documentation

◆ hex