Doxygen
Trace类 参考
+ Trace 的协作图:

Public 成员函数

 Trace (const QCString &func)
 
 Trace (const QCString &func, const QCString &data)
 
 ~Trace ()
 
void trace (const char *fmt,...)
 
void setResult (bool b)
 
void setResult (int i)
 
void setResult (const char *s)
 
void setResult (const QCString &s)
 

Private 成员函数

void indent ()
 

Private 属性

QCString m_func
 
bool m_resultSet = false
 
QCString m_resultValue
 

静态 Private 属性

static int s_indent = 0
 

详细描述

在文件 markdown.cpp69 行定义.

构造及析构函数说明

◆ Trace() [1/2]

Trace::Trace ( const QCString func)
inline

在文件 markdown.cpp72 行定义.

72  : m_func(func)
73  {
75  {
76  fprintf(IOSTREAM,"> %s\n",qPrint(func));
77  s_indent++;
78  }
79  }

引用了 IOSTREAM, Debug::isFlagSet(), Debug::Markdown, qPrint() , 以及 s_indent.

◆ Trace() [2/2]

Trace::Trace ( const QCString func,
const QCString data 
)
inline

在文件 markdown.cpp80 行定义.

80  : m_func(func)
81  {
83  {
84  indent();
85  char data_s[DATA_BUFSIZE*2+1] = ""; // worst case each input char outputs 2 chars + 0 terminator.
86  int j=0;
87  if (!data.isEmpty())
88  {
89  for (int i=0;i<DATA_BUFSIZE;i++)
90  {
91  char c=data[i];
92  if (c==0) break;
93  else if (c=='\n') { data_s[j++]='\\'; data_s[j++]='n'; }
94  else if (c=='\t') { data_s[j++]='\\'; data_s[j++]='t'; }
95  else if (c=='\r') { data_s[j++]='\\'; data_s[j++]='r'; }
96  else if (c=='\\') { data_s[j++]='\\'; data_s[j++]='\\'; }
97  else data_s[j++]=c;
98  }
99  }
100  data_s[j++]=0;
101  fprintf(IOSTREAM,"> %s data=[%s…]\n",qPrint(func),data_s);
102  s_indent++;
103  }
104  }

引用了 DATA_BUFSIZE, indent(), IOSTREAM, QCString::isEmpty(), Debug::isFlagSet(), Debug::Markdown, qPrint() , 以及 s_indent.

◆ ~Trace()

Trace::~Trace ( )
inline

在文件 markdown.cpp105 行定义.

106  {
108  {
109  s_indent--;
110  indent();
111  if (m_resultSet)
112  {
113  fprintf(IOSTREAM,"< %s result=%s\n",qPrint(m_func),qPrint(m_resultValue));
114  }
115  else
116  {
117  fprintf(IOSTREAM,"< %s\n",qPrint(m_func));
118  }
119  }
120  }

引用了 indent(), IOSTREAM, Debug::isFlagSet(), m_func, m_resultSet, m_resultValue, Debug::Markdown, qPrint() , 以及 s_indent.

成员函数说明

◆ indent()

void Trace::indent ( )
inlineprivate

在文件 markdown.cpp154 行定义.

154 { for (int i=0;i<s_indent;i++) fputs(" ",IOSTREAM); }

引用了 IOSTREAM , 以及 s_indent.

被这些函数引用 Trace(), trace() , 以及 ~Trace().

◆ setResult() [1/4]

void Trace::setResult ( bool  b)
inline

在文件 markdown.cpp133 行定义.

134  {
135  m_resultSet = true;
136  m_resultValue = b ? "true" : "false";
137  }

引用了 m_resultSet , 以及 m_resultValue.

◆ setResult() [2/4]

void Trace::setResult ( const char *  s)
inline

在文件 markdown.cpp143 行定义.

144  {
145  m_resultSet = true;
146  m_resultValue = s;
147  }

引用了 m_resultSet , 以及 m_resultValue.

◆ setResult() [3/4]

void Trace::setResult ( const QCString s)
inline

在文件 markdown.cpp148 行定义.

149  {
150  m_resultSet = true;
151  m_resultValue = s;
152  }

引用了 m_resultSet , 以及 m_resultValue.

◆ setResult() [4/4]

void Trace::setResult ( int  i)
inline

在文件 markdown.cpp138 行定义.

139  {
140  m_resultSet = true;
142  }

引用了 m_resultSet, m_resultValue , 以及 QCString::setNum().

◆ trace()

void Trace::trace ( const char *  fmt,
  ... 
)
inline

在文件 markdown.cpp121 行定义.

122  {
124  {
125  indent();
126  fprintf(IOSTREAM,": %s: ",qPrint(m_func));
127  va_list args;
128  va_start(args,fmt);
129  vfprintf(IOSTREAM, fmt, args);
130  va_end(args);
131  }
132  }

引用了 indent(), IOSTREAM, Debug::isFlagSet(), m_func, Debug::Markdown , 以及 qPrint().

类成员变量说明

◆ m_func

QCString Trace::m_func
private

在文件 markdown.cpp155 行定义.

被这些函数引用 trace() , 以及 ~Trace().

◆ m_resultSet

bool Trace::m_resultSet = false
private

在文件 markdown.cpp156 行定义.

被这些函数引用 setResult() , 以及 ~Trace().

◆ m_resultValue

QCString Trace::m_resultValue
private

在文件 markdown.cpp157 行定义.

被这些函数引用 setResult() , 以及 ~Trace().

◆ s_indent

int Trace::s_indent = 0
staticprivate

在文件 markdown.cpp158 行定义.

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


该类的文档由以下文件生成:
QCString::isEmpty
bool isEmpty() const
Returns TRUE iff the string is empty
Definition: qcstring.h:144
IOSTREAM
#define IOSTREAM
Definition: markdown.cpp:61
Trace::s_indent
static int s_indent
Definition: markdown.cpp:158
Trace::m_func
QCString m_func
Definition: markdown.cpp:155
Debug::isFlagSet
static bool isFlagSet(DebugMask mask)
Definition: debug.cpp:99
QCString::setNum
QCString & setNum(short n)
Definition: qcstring.h:372
Trace::indent
void indent()
Definition: markdown.cpp:154
Debug::Markdown
@ Markdown
Definition: debug.h:37
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
Trace::m_resultSet
bool m_resultSet
Definition: markdown.cpp:156
DATA_BUFSIZE
#define DATA_BUFSIZE
Definition: markdown.cpp:62
Trace::m_resultValue
QCString m_resultValue
Definition: markdown.cpp:157
QCString
This is an alternative implementation of QCString.
Definition: qcstring.h:108