Doxygen
Loading...
Searching...
No Matches
docbookgen.cpp File Reference
#include <stdlib.h>
#include "docbookgen.h"
#include "doxygen.h"
#include "message.h"
#include "config.h"
#include "classlist.h"
#include "classdef.h"
#include "conceptdef.h"
#include "diagram.h"
#include "util.h"
#include "defargs.h"
#include "outputgen.h"
#include "dot.h"
#include "dotcallgraph.h"
#include "dotclassgraph.h"
#include "dotdirdeps.h"
#include "dotgroupcollaboration.h"
#include "dotincldepgraph.h"
#include "pagedef.h"
#include "filename.h"
#include "version.h"
#include "docbookvisitor.h"
#include "docparser.h"
#include "language.h"
#include "parserintf.h"
#include "arguments.h"
#include "memberlist.h"
#include "groupdef.h"
#include "memberdef.h"
#include "namespacedef.h"
#include "membername.h"
#include "membergroup.h"
#include "dirdef.h"
#include "section.h"
#include "dir.h"
#include "outputlist.h"
#include "moduledef.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 70 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 73 of file docbookgen.cpp.

◆ Docbook_DB

Function Documentation

◆ addIndexTerm()

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

Definition at line 138 of file docbookgen.cpp.

139{
140 t << "<indexterm><primary>";
142 t << "</primary>";
143 if (!sec.empty())
144 {
145 t << "<secondary>";
147 t << "</secondary>";
148 }
149 t << "</indexterm>\n";
150}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:152
static DString convertToDocbook(const DString &s, bool retainNewline=false, bool citeEntry=false)

References addIndexTerm(), and DocbookGenerator::convertToDocbook().

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

◆ objectLinkToString()

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

Definition at line 774 of file docbookgen.cpp.

776{
778 DString result;
779 if (!anchor.empty())
780 {
781 if (!f.empty()) result += "<link linkend=\"_" + stripPath(f) + "_1" + anchor + "\">";
782 else result += "<link linkend=\"_" + anchor + "\">";
783 }
784 else
785 {
786 result += "<link linkend=\"_" + stripPath(f) + "\">";
787 }
789 result += "</link>";
790 return result;
791}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:88
#define DB_GEN_C
DString stripPath(const DString &s)
Definition util.cpp:3962

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

Referenced by objectLinkToString(), 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 83 of file docbookgen.cpp.

84{
85 if (str.empty()) return;
86 const int tabSize = Config_getInt(TAB_SIZE);
87 const char *s = str.data();
88 char c=0;
89 if (hide)
90 {
91 col = updateColumnCount(s,col);
92 }
93 else
94 {
95 while ((c=*s++))
96 {
97 switch(c)
98 {
99 case '\t':
100 {
101 int spacesToNextTabStop = tabSize - (col%tabSize);
102 while (spacesToNextTabStop--)
103 {
104 if (col>=stripIndentAmount) t << "&#32;";
105 col++;
106 }
107 break;
108 }
109 case ' ':
110 if (col>=stripIndentAmount) t << "&#32;";
111 col++;
112 break;
113 case '<': t << "&lt;"; col++; break;
114 case '>': t << "&gt;"; col++; break;
115 case '&': t << "&amp;"; col++; break;
116 case '\'': t << "&apos;"; col++; break;
117 case '"': t << "&quot;"; col++; break;
118 default:
119 {
120 uint8_t uc = static_cast<uint8_t>(c);
121 static const char *hex="0123456789ABCDEF";
122 if (uc<32)
123 {
124 t << "&#x24" << hex[uc>>4] << hex[uc&0xF] << ";";
125 }
126 else
127 {
128 t << c;
129 }
130 col++;
131 }
132 break;
133 }
134 }
135 }
136}
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:161
#define Config_getInt(name)
Definition config.h:34
static constexpr auto hex
size_t updateColumnCount(const char *s, size_t col)
Definition outputgen.cpp:60

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

Referenced by DocbookCodeGenerator::codify(), and writeDocbookCodeString().

◆ writeDocbookLink()

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

Definition at line 151 of file docbookgen.cpp.

153{
154 t << "<link linkend=\"_" << stripPath(compoundId);
155 if (!anchorId.empty()) t << "_1" << anchorId;
156 t << "\"";
157 t << ">";
158 writeDocbookString(t,text);
159 t << "</link>";
160}
void writeDocbookString(TextStream &t, const DString &s)

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

Referenced by DocbookCodeGenerator::writeCodeLink(), and writeDocbookLink().

◆ writeDocbookString()

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

Variable Documentation

◆ hex

auto hex ="0123456789ABCDEF"
staticconstexpr