Doxygen
QhpXmlWriter类 参考

#include <qhpxmlwriter.h>

+ QhpXmlWriter 的协作图:

Public 成员函数

 QhpXmlWriter ()
 
 ~QhpXmlWriter ()
 
void setIndentLevel (int level)
 
void setCompressionEnabled (bool enabled)
 
void insert (QhpXmlWriter const &source)
 
void dumpTo (TextStream &file)
 
void open (const QCString &elementName, const char *const attributes[]=0)
 
void openClose (const QCString &elementName, const char *const attributes[]=0)
 
void openCloseContent (const QCString &elementName, const QCString &content)
 
void close (const QCString &elementName)
 
void declaration (const QCString &version, const QCString &encoding)
 

Private 成员函数

void indent ()
 
void newLine ()
 
void openPureHelper (const QCString &elementName, const char *const attributes[], bool close)
 
void openPure (const QCString &elementName, const char *const attributes[]=0)
 
void openClosePure (const QCString &elementName, const char *const attributes[]=0)
 
void closePure (const QCString &elementName)
 

Private 属性

TextStream m_backend
 
int m_indentLevel
 
bool m_curLineIndented
 
bool m_compress
 

详细描述

在文件 qhpxmlwriter.h23 行定义.

构造及析构函数说明

◆ QhpXmlWriter()

QhpXmlWriter::QhpXmlWriter ( )

在文件 qhpxmlwriter.cpp21 行定义.

22  : m_indentLevel(0), m_curLineIndented(false), m_compress(false)
23 {
24 }

◆ ~QhpXmlWriter()

QhpXmlWriter::~QhpXmlWriter ( )

在文件 qhpxmlwriter.cpp26 行定义.

27 {
28 }

成员函数说明

◆ close()

void QhpXmlWriter::close ( const QCString elementName)

在文件 qhpxmlwriter.cpp77 行定义.

78 {
79  m_indentLevel--;
80  indent();
81  closePure(elementName);
82  newLine();
83 }

引用了 closePure(), indent(), m_indentLevel , 以及 newLine().

被这些函数引用 Qhp::addContentsItem(), Qhp::finalize(), Qhp::initialize() , 以及 openPureHelper().

◆ closePure()

void QhpXmlWriter::closePure ( const QCString elementName)
private

在文件 qhpxmlwriter.cpp151 行定义.

152 {
153  m_backend << "</" << elementName << ">";
154 }

引用了 m_backend.

被这些函数引用 close() , 以及 openCloseContent().

◆ declaration()

void QhpXmlWriter::declaration ( const QCString version,
const QCString encoding 
)

在文件 qhpxmlwriter.cpp85 行定义.

86 {
87  m_backend << "<?xml version=\"" << version << "\" encoding=\"" << encoding << "\"?>";
88  newLine();
89 }

引用了 m_backend, newLine() , 以及 version().

被这些函数引用 Qhp::initialize().

◆ dumpTo()

void QhpXmlWriter::dumpTo ( TextStream file)

在文件 qhpxmlwriter.cpp45 行定义.

46 {
47  file << m_backend.str();
48 }

引用了 m_backend , 以及 TextStream::str().

被这些函数引用 Qhp::finalize().

◆ indent()

void QhpXmlWriter::indent ( )
private

在文件 qhpxmlwriter.cpp91 行定义.

92 {
94  {
95  return;
96  }
97  for (int i = 0; i < m_indentLevel; i++)
98  {
99  m_backend << " ";
100  }
101  m_curLineIndented = true;
102 }

引用了 m_backend, m_curLineIndented , 以及 m_indentLevel.

被这些函数引用 close(), open(), openClose() , 以及 openCloseContent().

◆ insert()

void QhpXmlWriter::insert ( QhpXmlWriter const &  source)

在文件 qhpxmlwriter.cpp40 行定义.

41 {
42  m_backend << source.m_backend.str();
43 }

引用了 m_backend , 以及 TextStream::str().

被这些函数引用 Qhp::finalize().

◆ newLine()

void QhpXmlWriter::newLine ( )
private

在文件 qhpxmlwriter.cpp104 行定义.

105 {
106  if (!m_compress)
107  {
108  m_backend << "\n";
109  m_curLineIndented = false;
110  }
111 }

引用了 m_backend, m_compress , 以及 m_curLineIndented.

被这些函数引用 close(), declaration(), open(), openClose() , 以及 openCloseContent().

◆ open()

void QhpXmlWriter::open ( const QCString elementName,
const char *const  attributes[] = 0 
)

在文件 qhpxmlwriter.cpp50 行定义.

52 {
53  indent();
54  openPure(elementName, attributes);
55  newLine();
56  m_indentLevel++;
57 }

引用了 indent(), m_indentLevel, newLine() , 以及 openPure().

被这些函数引用 Qhp::handlePrevSection() , 以及 Qhp::initialize().

◆ openClose()

void QhpXmlWriter::openClose ( const QCString elementName,
const char *const  attributes[] = 0 
)

在文件 qhpxmlwriter.cpp59 行定义.

61 {
62  indent();
63  openClosePure(elementName, attributes);
64  newLine();
65 }

引用了 indent(), newLine() , 以及 openClosePure().

被这些函数引用 Qhp::addIndexItem() , 以及 Qhp::handlePrevSection().

◆ openCloseContent()

void QhpXmlWriter::openCloseContent ( const QCString elementName,
const QCString content 
)

在文件 qhpxmlwriter.cpp67 行定义.

69 {
70  indent();
71  openPure(elementName);
72  m_backend << convertToXML(content);
73  closePure(elementName);
74  newLine();
75 }

引用了 closePure(), convertToXML(), indent(), m_backend, newLine() , 以及 openPure().

被这些函数引用 Qhp::addFile() , 以及 Qhp::initialize().

◆ openClosePure()

void QhpXmlWriter::openClosePure ( const QCString elementName,
const char *const  attributes[] = 0 
)
private

在文件 qhpxmlwriter.cpp145 行定义.

147 {
148  openPureHelper(elementName, attributes, true);
149 }

引用了 openPureHelper().

被这些函数引用 openClose().

◆ openPure()

void QhpXmlWriter::openPure ( const QCString elementName,
const char *const  attributes[] = 0 
)
private

在文件 qhpxmlwriter.cpp139 行定义.

141 {
142  openPureHelper(elementName, attributes, false);
143 }

引用了 openPureHelper().

被这些函数引用 open() , 以及 openCloseContent().

◆ openPureHelper()

void QhpXmlWriter::openPureHelper ( const QCString elementName,
const char *const  attributes[],
bool  close 
)
private

在文件 qhpxmlwriter.cpp113 行定义.

115 {
116  m_backend << "<" << elementName;
117  if (attributes)
118  {
119  for (const char * const * walker = attributes;
120  walker[0]; walker += 2)
121  {
122  const char *const key = walker[0];
123  const char *const value = walker[1];
124  if (!value)
125  {
126  continue;
127  }
128  m_backend << " " << key << "=\"" << convertToXML(value) << "\"";
129  }
130  }
131 
132  if (close)
133  {
134  m_backend << " /";
135  }
136  m_backend << ">";
137 }

引用了 close(), convertToXML() , 以及 m_backend.

被这些函数引用 openClosePure() , 以及 openPure().

◆ setCompressionEnabled()

void QhpXmlWriter::setCompressionEnabled ( bool  enabled)

在文件 qhpxmlwriter.cpp35 行定义.

36 {
37  m_compress = enabled;
38 }

引用了 m_compress.

◆ setIndentLevel()

void QhpXmlWriter::setIndentLevel ( int  level)

在文件 qhpxmlwriter.cpp30 行定义.

31 {
32  m_indentLevel = level;
33 }

引用了 m_indentLevel.

被这些函数引用 Qhp::Qhp().

类成员变量说明

◆ m_backend

TextStream QhpXmlWriter::m_backend
private

在文件 qhpxmlwriter.h52 行定义.

被这些函数引用 closePure(), declaration(), dumpTo(), indent(), insert(), newLine(), openCloseContent() , 以及 openPureHelper().

◆ m_compress

bool QhpXmlWriter::m_compress
private

在文件 qhpxmlwriter.h55 行定义.

被这些函数引用 newLine() , 以及 setCompressionEnabled().

◆ m_curLineIndented

bool QhpXmlWriter::m_curLineIndented
private

在文件 qhpxmlwriter.h54 行定义.

被这些函数引用 indent() , 以及 newLine().

◆ m_indentLevel

int QhpXmlWriter::m_indentLevel
private

在文件 qhpxmlwriter.h53 行定义.

被这些函数引用 close(), indent(), open() , 以及 setIndentLevel().


该类的文档由以下文件生成:
QhpXmlWriter::openPure
void openPure(const QCString &elementName, const char *const attributes[]=0)
Definition: qhpxmlwriter.cpp:139
QhpXmlWriter::openClosePure
void openClosePure(const QCString &elementName, const char *const attributes[]=0)
Definition: qhpxmlwriter.cpp:145
version
static void version(const bool extended)
Definition: doxygen.cpp:10515
QhpXmlWriter::m_compress
bool m_compress
Definition: qhpxmlwriter.h:55
QhpXmlWriter::close
void close(const QCString &elementName)
Definition: qhpxmlwriter.cpp:77
QhpXmlWriter::openPureHelper
void openPureHelper(const QCString &elementName, const char *const attributes[], bool close)
Definition: qhpxmlwriter.cpp:113
QhpXmlWriter::closePure
void closePure(const QCString &elementName)
Definition: qhpxmlwriter.cpp:151
QhpXmlWriter::indent
void indent()
Definition: qhpxmlwriter.cpp:91
QhpXmlWriter::m_curLineIndented
bool m_curLineIndented
Definition: qhpxmlwriter.h:54
TextStream::str
std::string str() const
Return the contents of the buffer as a std::string object
Definition: textstream.h:208
QhpXmlWriter::m_indentLevel
int m_indentLevel
Definition: qhpxmlwriter.h:53
QhpXmlWriter::newLine
void newLine()
Definition: qhpxmlwriter.cpp:104
QhpXmlWriter::m_backend
TextStream m_backend
Definition: qhpxmlwriter.h:52
convertToXML
QCString convertToXML(const QCString &s, bool keepEntities)
Definition: util.cpp:3948