summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kamm <christian.d.kamm@nokia.com>2010-03-23 12:17:49 +0100
committerChristian Kamm <christian.d.kamm@nokia.com>2010-03-26 13:05:03 +0100
commit2f5e3071faf3a9ed5d957e38710dd10aa69957a7 (patch)
treeb94a8e203dfcddc48726b4b9021fd1b6b4a28ca5
parent396d01725b70a4f5364ac0440dc731a6a5bfc919 (diff)
More documentation work: add a docs make target.
-rw-r--r--coroutine.pro2
-rw-r--r--doc/classic.css295
-rw-r--r--doc/coroutine.qdocconf201
-rw-r--r--doc/doc.pri39
-rw-r--r--src/coroutine.cpp15
-rw-r--r--src/coroutine.h3
-rw-r--r--src/coroutinebuilddeclaration_p.h8
-rw-r--r--src/coroutinebuilddefinition_p.h4
-rw-r--r--src/coroutinestoredfunctioncall_p.h4
-rw-r--r--tools/generatebuild/main.cpp16
10 files changed, 548 insertions, 39 deletions
diff --git a/coroutine.pro b/coroutine.pro
index f7f039f..0bb1661 100644
--- a/coroutine.pro
+++ b/coroutine.pro
@@ -1,6 +1,8 @@
TEMPLATE = subdirs
SUBDIRS = src
+include(doc/doc.pri)
+
system(echo "INCLUDEPATH *= $$PWD/src" > use_coroutine.pri)
system(echo "LIBS *= -L$$OUT_PWD/lib" >> use_coroutine.pri)
system(echo "LIBS *= -l$$qtLibraryTarget(coroutine)" >> use_coroutine.pri)
diff --git a/doc/classic.css b/doc/classic.css
new file mode 100644
index 0000000..f97bdbe
--- /dev/null
+++ b/doc/classic.css
@@ -0,0 +1,295 @@
+BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
+ font-family: Arial, Geneva, Helvetica, sans-serif;
+}
+H1 {
+ text-align: center;
+ font-size: 160%;
+}
+H2 {
+ font-size: 120%;
+}
+H3 {
+ font-size: 100%;
+}
+
+h3.fn,span.fn
+{
+ background-color: #eee;
+ border-width: 1px;
+ border-style: solid;
+ border-color: #ddd;
+ font-weight: bold;
+ padding: 6px 0px 6px 10px;
+ margin: 42px 0px 0px 0px;
+}
+
+hr {
+ border: 0;
+ color: #a0a0a0;
+ background-color: #ccc;
+ height: 1px;
+ width: 100%;
+ text-align: left;
+ margin: 34px 0px 34px 0px;
+}
+
+table.valuelist {
+ border-width: 1px 1px 1px 1px;
+ border-style: solid;
+ border-color: #dddddd;
+ border-collapse: collapse;
+ background-color: #f0f0f0;
+}
+
+table.indextable {
+ border-width: 1px 1px 1px 1px;
+ border-collapse: collapse;
+ background-color: #f0f0f0;
+ border-color:#555;
+ font-size: 110%;
+}
+
+table td.largeindex {
+ border-width: 1px 1px 1px 1px;
+ border-collapse: collapse;
+ background-color: #f0f0f0;
+ border-color:#555;
+ font-size: 120%;
+}
+
+table.valuelist th {
+ border-width: 1px 1px 1px 2px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #666;
+ color:white;
+ background-color:#666;
+}
+
+th.titleheader {
+ border-width: 1px 0px 1px 0px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #444;
+ color:white;
+ background-color:#555555;
+ font-size: 110%;
+}
+
+th.largeheader {
+ border-width: 1px 0px 1px 0px;
+ padding: 4px;
+ border-style: solid;
+ border-color: #444;
+ color:white;
+ background-color:#555555;
+ font-size: 120%;
+}
+
+p {
+
+ margin-left: 4px;
+ margin-top: 8px;
+ margin-bottom: 8px;
+}
+
+a:link
+{
+ color: #0046ad;
+ text-decoration: none
+}
+
+a:visited
+{
+ color: #672967;
+ text-decoration: none
+}
+
+a.obsolete
+{
+ color: #661100;
+ text-decoration: none
+}
+
+a.compat
+{
+ color: #661100;
+ text-decoration: none
+}
+
+a.obsolete:visited
+{
+ color: #995500;
+ text-decoration: none
+}
+
+a.compat:visited
+{
+ color: #995500;
+ text-decoration: none
+}
+
+body
+{
+ background: #ffffff;
+ color: black
+}
+
+table.generic, table.annotated
+{
+ border-width: 1px;
+ border-color:#bbb;
+ border-style:solid;
+ border-collapse:collapse;
+}
+
+table td.memItemLeft {
+ width: 180px;
+ padding: 2px 0px 0px 8px;
+ margin: 4px;
+ border-width: 1px;
+ border-color: #E0E0E0;
+ border-style: none;
+ font-size: 100%;
+ white-space: nowrap
+}
+
+table td.memItemRight {
+ padding: 2px 8px 0px 8px;
+ margin: 4px;
+ border-width: 1px;
+ border-color: #E0E0E0;
+ border-style: none;
+ font-size: 100%;
+}
+
+table tr.odd {
+ background: #f0f0f0;
+ color: black;
+}
+
+table tr.even {
+ background: #e4e4e4;
+ color: black;
+}
+
+table.annotated th {
+ padding: 3px;
+ text-align: left
+}
+
+table.annotated td {
+ padding: 3px;
+}
+
+table tr pre
+{
+ padding-top: 0px;
+ padding-bottom: 0px;
+ padding-left: 0px;
+ padding-right: 0px;
+ border: none;
+ background: none
+}
+
+tr.qt-style
+{
+ background: #96E066;
+ color: black
+}
+
+body pre
+{
+ padding: 0.2em;
+ border: #e7e7e7 1px solid;
+ background: #f1f1f1;
+ color: black
+}
+
+table tr.qt-code pre
+{
+ padding: 0.2em;
+ border: #e7e7e7 1px solid;
+ background: #f1f1f1;
+ color: black
+}
+
+span.preprocessor, span.preprocessor a
+{
+ color: darkblue;
+}
+
+span.comment
+{
+ color: darkred;
+ font-style: italic
+}
+
+span.string,span.char
+{
+ color: darkgreen;
+}
+
+.title
+{
+ text-align: center
+}
+
+.subtitle
+{
+ font-size: 0.8em
+}
+
+.small-subtitle
+{
+ font-size: 0.65em
+}
+
+.qmlitem {
+ padding: 0;
+}
+
+.qmlname {
+ white-space: nowrap;
+ font-weight: bold;
+ font-size: 125%;
+}
+
+.qmltype {
+ font-weight: bold;
+ font-size: 125%;
+}
+
+.qmlproto, .qmldoc {
+ // border-top: 1px solid #84b0c7;
+}
+
+.qmlproto {
+ padding: 0;
+ //background-color: #e4e4e4;//#d5e1e8;
+ //font-weight: bold;
+ //-webkit-border-top-left-radius: 8px;
+ //-webkit-border-top-right-radius: 8px;
+ //-moz-border-radius-topleft: 8px;
+ //-moz-border-radius-topright: 8px;
+}
+
+.qmldoc {
+ border-top: 1px solid #e4e4e4;
+ //padding: 2px 5px;
+ //background-color: #eef3f5;
+ //border-top-width: 0;
+ //-webkit-border-bottom-left-radius: 8px;
+ //-webkit-border-bottom-right-radius: 8px;
+ //-moz-border-radius-bottomleft: 8px;
+ //-moz-border-radius-bottomright: 8px;
+}
+
+.qmldoc p, .qmldoc dl, .qmldoc ul {
+ //margin: 6px 0;
+}
+
+*.qmlitem p {
+ //margin-top: 0px;
+ //margin-bottom: 0px;
+}
diff --git a/doc/coroutine.qdocconf b/doc/coroutine.qdocconf
new file mode 100644
index 0000000..c772180
--- /dev/null
+++ b/doc/coroutine.qdocconf
@@ -0,0 +1,201 @@
+# Run qdoc from the directory that contains this file.
+
+project = coroutine
+description = "Coroutine Manual"
+
+headerdirs = $SRCDIR
+sourcedirs = $SRCDIR
+imagedirs = $SRCDIR/images
+outputdir = $OUTDIR
+exampledirs = $SRCDIR
+indexes = qt.index
+
+extraimages.HTML = qt-logo
+
+qhp.projects = Coroutine
+qhp.Coroutine.file = coroutine.qhp
+qhp.Coroutine.namespace = com.nokia.coroutine
+qhp.Coroutine.virtualFolder = doc
+qhp.Coroutine.indexTitle = Coroutine
+qhp.Coroutine.indexRoot =
+qhp.Coroutine.extraFiles = classic.css \
+ images/qt-logo.png
+qhp.Coroutine.filterAttributes = coroutine
+
+# macros.qdocconf
+
+macro.aring.HTML = "&aring;"
+macro.Auml.HTML = "&Auml;"
+macro.author = "\\bold{Author:}"
+macro.br.HTML = "<br />"
+macro.BR.HTML = "<br />"
+macro.aacute.HTML = "&aacute;"
+macro.eacute.HTML = "&eacute;"
+macro.iacute.HTML = "&iacute;"
+macro.gui = "\\bold"
+macro.hr.HTML = "<hr />"
+macro.key = "\\bold"
+macro.menu = "\\bold"
+macro.note = "\\bold{Note:}"
+macro.oslash.HTML = "&oslash;"
+macro.ouml.HTML = "&ouml;"
+macro.QA = "\\e{Qt Assistant}"
+macro.QD = "\\e{Qt Designer}"
+macro.QL = "\\e{Qt Linguist}"
+macro.QC = "\\e{Qt Creator}"
+macro.QMLD = "\\e{QML Designer}"
+macro.param = "\\e"
+macro.raisedaster.HTML = "<sup>*</sup>"
+macro.reg.HTML = "<sup>&reg;</sup>"
+macro.return = "Returns"
+macro.starslash = "\\c{*/}"
+macro.uuml.HTML = "&uuml;"
+macro.mdash.HTML = "&mdash;"
+
+# compat.qdocconf
+
+alias.i = e
+alias.include = input
+
+macro.0 = "\\\\0"
+macro.b = "\\\\b"
+macro.n = "\\\\n"
+macro.r = "\\\\r"
+macro.i = "\\o"
+macro.i11 = "\\o{1,1}"
+macro.i12 = "\\o{1,2}"
+macro.i13 = "\\o{1,3}"
+macro.i14 = "\\o{1,4}"
+macro.i15 = "\\o{1,5}"
+macro.i16 = "\\o{1,6}"
+macro.i17 = "\\o{1,7}"
+macro.i18 = "\\o{1,8}"
+macro.i19 = "\\o{1,9}"
+macro.i21 = "\\o{2,1}"
+macro.i31 = "\\o{3,1}"
+macro.i41 = "\\o{4,1}"
+macro.i51 = "\\o{5,1}"
+macro.i61 = "\\o{6,1}"
+macro.i71 = "\\o{7,1}"
+macro.i81 = "\\o{8,1}"
+macro.i91 = "\\o{9,1}"
+macro.img = "\\image"
+macro.endquote = "\\endquotation"
+spurious = "Missing comma in .*" \
+ "Missing pattern .*"
+
+# Doxygen compatibility commands
+
+macro.see = "\\sa"
+macro.function = "\\fn"
+
+# qt-cpp-ignore.qdocconf
+
+Cpp.ignoretokens = QAXFACTORY_EXPORT \
+ QDESIGNER_COMPONENTS_LIBRARY \
+ QDESIGNER_EXTENSION_LIBRARY \
+ QDESIGNER_SDK_LIBRARY \
+ QDESIGNER_SHARED_LIBRARY \
+ QDESIGNER_UILIB_LIBRARY \
+ QM_EXPORT_CANVAS \
+ QM_EXPORT_DNS \
+ QM_EXPORT_DOM \
+ QM_EXPORT_FTP \
+ QM_EXPORT_HTTP \
+ QM_EXPORT_ICONVIEW \
+ QM_EXPORT_NETWORK \
+ QM_EXPORT_OPENGL \
+ QM_EXPORT_SQL \
+ QM_EXPORT_TABLE \
+ QM_EXPORT_WORKSPACE \
+ QM_EXPORT_XML \
+ QT_ASCII_CAST_WARN \
+ QT_ASCII_CAST_WARN_CONSTRUCTOR \
+ QT_BEGIN_HEADER \
+ QT_DESIGNER_STATIC \
+ QT_END_HEADER \
+ QT_FASTCALL \
+ QT_WIDGET_PLUGIN_EXPORT \
+ Q_COMPAT_EXPORT \
+ Q_CORE_EXPORT \
+ Q_EXPLICIT \
+ Q_EXPORT \
+ Q_EXPORT_CODECS_CN \
+ Q_EXPORT_CODECS_JP \
+ Q_EXPORT_CODECS_KR \
+ Q_EXPORT_PLUGIN \
+ Q_GFX_INLINE \
+ Q_GUI_EXPORT \
+ Q_GUI_EXPORT_INLINE \
+ Q_GUI_EXPORT_STYLE_CDE \
+ Q_GUI_EXPORT_STYLE_COMPACT \
+ Q_GUI_EXPORT_STYLE_MAC \
+ Q_GUI_EXPORT_STYLE_MOTIF \
+ Q_GUI_EXPORT_STYLE_MOTIFPLUS \
+ Q_GUI_EXPORT_STYLE_PLATINUM \
+ Q_GUI_EXPORT_STYLE_POCKETPC \
+ Q_GUI_EXPORT_STYLE_SGI \
+ Q_GUI_EXPORT_STYLE_WINDOWS \
+ Q_GUI_EXPORT_STYLE_WINDOWSXP \
+ QHELP_EXPORT \
+ Q_INLINE_TEMPLATE \
+ Q_INTERNAL_WIN_NO_THROW \
+ Q_NETWORK_EXPORT \
+ Q_OPENGL_EXPORT \
+ Q_OUTOFLINE_TEMPLATE \
+ Q_SQL_EXPORT \
+ Q_SVG_EXPORT \
+ Q_SCRIPT_EXPORT \
+ Q_TESTLIB_EXPORT \
+ Q_TYPENAME \
+ Q_XML_EXPORT \
+ Q_XMLSTREAM_EXPORT \
+ Q_XMLPATTERNS_EXPORT \
+ QDBUS_EXPORT \
+ QT_BEGIN_NAMESPACE \
+ QT_BEGIN_INCLUDE_NAMESPACE \
+ QT_END_NAMESPACE \
+ QT_END_INCLUDE_NAMESPACE \
+ PHONON_EXPORT \
+ EXTENSIONSYSTEM_EXPORT
+Cpp.ignoredirectives = Q_DECLARE_HANDLE \
+ Q_DECLARE_INTERFACE \
+ Q_DECLARE_METATYPE \
+ Q_DECLARE_OPERATORS_FOR_FLAGS \
+ Q_DECLARE_PRIVATE \
+ Q_DECLARE_PUBLIC \
+ Q_DECLARE_SHARED \
+ Q_DECLARE_TR_FUNCTIONS \
+ Q_DECLARE_TYPEINFO \
+ Q_DISABLE_COPY \
+ QT_FORWARD_DECLARE_CLASS \
+ Q_DUMMY_COMPARISON_OPERATOR \
+ Q_ENUMS \
+ Q_FLAGS \
+ Q_INTERFACES \
+ __attribute__ \
+ K_DECLARE_PRIVATE \
+ PHONON_OBJECT \
+ PHONON_HEIR
+
+
+
+HTML.stylesheets = classic.css
+HTML.postheader = "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\">\n" \
+ "<tr>\n" \
+ "<td align=\"left\" valign=\"top\" width=\"32\">" \
+ "<a href=\"http://qt.nokia.com/\"><img src=\"images/qt-logo.png\" align=\"left\" border=\"0\" /></a>" \
+ "</td>\n" \
+ "<td width=\"1\">&nbsp;&nbsp;</td>" \
+ "<td class=\"postheader\" valign=\"center\">" \
+ "<a href=\"index.html\">" \
+ "<font color=\"#004faf\">Home</font></a>&nbsp;&middot; " \
+ "</td>" \
+ "</tr></table>"
+
+HTML.footer = "<p /><address><hr /><div align=\"center\">\n" \
+ "<table width=\"100%\" cellspacing=\"0\" border=\"0\"><tr class=\"address\">\n" \
+ "<td width=\"40%\" align=\"left\">Copyright &copy; 2010 Nokia Corporation and/or its subsidiary(-ies)</td>\n" \
+ "<td width=\"20%\" align=\"center\"><a href=\"trademarks.html\">Trademarks</a></td>\n" \
+ "<td width=\"40%\" align=\"right\"><div align=\"right\">Coroutine</div></td>\n" \
+ "</tr></table></div></address>"
diff --git a/doc/doc.pri b/doc/doc.pri
new file mode 100644
index 0000000..037a9a0
--- /dev/null
+++ b/doc/doc.pri
@@ -0,0 +1,39 @@
+defineReplace(targetPath) {
+ return($$replace(1, /, $$QMAKE_DIR_SEP))
+}
+
+QDOC_BIN = $$targetPath($$[QT_INSTALL_BINS]/qdoc3)
+HELPGENERATOR = $$targetPath($$[QT_INSTALL_BINS]/qhelpgenerator)
+
+equals(QMAKE_DIR_SEP, /) { # unix, mingw+msys
+ QDOC = SRCDIR=$$PWD/../src OUTDIR=$$OUT_PWD/doc/html $$QDOC_BIN
+} else:win32-g++* { # just mingw
+ # The lack of spaces in front of the && is necessary!
+ QDOC = set SRCDIR=$$PWD&& set OUTDIR=$$OUT_PWD/doc/html&& $$QDOC_BIN
+} else { # nmake
+ QDOC = set SRCDIR=$$PWD $$escape_expand(\n\t) \
+ set OUTDIR=$$OUT_PWD/doc/html $$escape_expand(\n\t) \
+ $$QDOC_BIN
+}
+
+QHP_FILE = $$OUT_PWD/doc/html/coroutine.qhp
+QCH_FILE = $$OUT_PWD/share/doc/coroutine/coroutine.qch
+
+html_docs.commands = $$QDOC $$PWD/coroutine.qdocconf
+html_docs.depends += $$PWD/coroutine.qdocconf
+html_docs.files = $$QHP_FILE
+
+qch_docs.commands = $$HELPGENERATOR -o \"$$QCH_FILE\" $$QHP_FILE
+qch_docs.depends += html_docs
+qch_docs.files = $$QCH_FILE
+
+unix:!macx {
+ qch_docs.path = /share/doc/qtcreator
+ qch_docs.CONFIG += no_check_exist
+ INSTALLS += qch_docs
+}
+
+docs.depends = qch_docs
+QMAKE_EXTRA_TARGETS += html_docs qch_docs docs
+
+OTHER_FILES = $$PWD/coroutine.qdocconf
diff --git a/src/coroutine.cpp b/src/coroutine.cpp
index 35aaa94..d14bacf 100644
--- a/src/coroutine.cpp
+++ b/src/coroutine.cpp
@@ -11,7 +11,7 @@
Coroutines, also known as fibers, allow managing multiple stacks in the same
thread.
- New coroutines are made from functions, functors, etc by invoking Coroutine::build
+ New coroutines are made from functions, functors, etc by invoking Coroutine::build()
on them. Alternatively, it is possible to derive from Coroutine and overriding
the run() method.
@@ -20,7 +20,7 @@
At that point, the call to cont() returns. Subsequent calls to cont() will
continue execution of the coroutine just after the yield().
- Example:
+ \code
void myCoroutine()
{
qDebug() << "1";
@@ -33,6 +33,7 @@
c.cont(); // prints 1
qDebug() << "1.5";
c.cont(); // prints 2
+ \endcode
By default, a Coroutine will create its own stack space using createStack()
with the default argument. To manage the stack memory manually or to use
@@ -41,11 +42,11 @@
*/
/*!
- \fn Coroutine *Coroutine::build(Function function, ...)
+ \fn static Coroutine *Coroutine::build(Function function, ...)
Creates a new Coroutine from a callable object.
- The callable object, Function, can be a function pointer, functor or
+ The callable object, \a function, can be a function pointer, functor or
pointer to functor, object and member function pointer, or pointer to object
and member function pointer. In the case of passing functor pointers or
object pointers, the Coroutine object doesn't take ownership.
@@ -102,7 +103,7 @@ Coroutine::~Coroutine()
}
/*!
- Creates a stack of the given size for the coroutine.
+ Creates a stack of the given \a size for the coroutine.
The memory is owned by the Coroutine object and will be deleted on destruction.
Calling this function is only valid when in the NotStarted state.
@@ -121,8 +122,8 @@ void Coroutine::createStack(int size)
}
/*!
- Initializes the given area of memory to serve as the stack for the coroutine.
- The Coroutine object does not take ownership.
+ Initializes the area given by \a memory and \a size to serve as the stack
+ for the coroutine. The Coroutine object does not take ownership.
Calling this function is only valid when in the NotStarted state.
diff --git a/src/coroutine.h b/src/coroutine.h
index 4e9e959..5beb274 100644
--- a/src/coroutine.h
+++ b/src/coroutine.h
@@ -27,6 +27,9 @@ public:
static Coroutine *currentCoroutine();
+#ifdef qdoc
+ static Coroutine* build(Function function, ...);
+#endif
// add declarations for static build(...) function
#include "coroutinebuilddeclaration_p.h"
diff --git a/src/coroutinebuilddeclaration_p.h b/src/coroutinebuilddeclaration_p.h
index 2a58820..c588a71 100644
--- a/src/coroutinebuilddeclaration_p.h
+++ b/src/coroutinebuilddeclaration_p.h
@@ -9,12 +9,6 @@
// Generated code, do not edit! Use generator at tools/generatebuild/
-#ifdef qdoc
-
- static Coroutine* build(Function function, ...);
-
-#else
-
static Coroutine* build(void (*functionPointer)());
template <typename Param1, typename Arg1>
@@ -107,5 +101,3 @@ template <typename Class, typename Param1, typename Arg1, typename Param2, typen
static Coroutine* build(const Class *object, void (Class::*fn)(Param1, Param2, Param3, Param4, Param5) const, const Arg1 &arg1, const Arg2 &arg2, const Arg3 &arg3, const Arg4 &arg4, const Arg5 &arg5);
-#endif // qdoc
-
diff --git a/src/coroutinebuilddefinition_p.h b/src/coroutinebuilddefinition_p.h
index b97291d..d7595c7 100644
--- a/src/coroutinebuilddefinition_p.h
+++ b/src/coroutinebuilddefinition_p.h
@@ -11,8 +11,6 @@
#include "coroutinestoredfunctioncall_p.h"
-#ifndef qdoc
-
Coroutine* Coroutine::build(void (*functionPointer)())
{
@@ -231,5 +229,3 @@ Coroutine* Coroutine::build(const Class *object, void (Class::*fn)(Param1, Param
}
-#endif // qdoc
-
diff --git a/src/coroutinestoredfunctioncall_p.h b/src/coroutinestoredfunctioncall_p.h
index bf55271..f900a9e 100644
--- a/src/coroutinestoredfunctioncall_p.h
+++ b/src/coroutinestoredfunctioncall_p.h
@@ -11,8 +11,6 @@
#ifndef COROUTINE_STOREDFUNCTIONCALL_H
#define COROUTINE_STOREDFUNCTIONCALL_H
-#ifndef qdoc
-
template <typename FunctionPointer>
struct StoredFunctorCall0: public Coroutine
{
@@ -530,6 +528,4 @@ private:
Arg1 arg1; Arg2 arg2; Arg3 arg3; Arg4 arg4; Arg5 arg5;
};
-#endif // qdoc
-
#endif
diff --git a/tools/generatebuild/main.cpp b/tools/generatebuild/main.cpp
index a2c9036..fb66f7a 100644
--- a/tools/generatebuild/main.cpp
+++ b/tools/generatebuild/main.cpp
@@ -327,15 +327,7 @@ int main()
Line("") +
Line("// Generated code, do not edit! Use generator at tools/generatebuild/") +
Line("") +
- Line("#ifdef qdoc") +
- Line("") +
- Line(" static Coroutine* build(Function function, ...);") +
- Line("") +
- Line("#else") +
- Line("") +
generateBuildFunctionDeclarations(repeats) +
- Line("") +
- Line("#endif // qdoc") +
Line("")
);
@@ -355,11 +347,7 @@ int main()
Line("") +
Line("#include \"coroutinestoredfunctioncall_p.h\"") +
Line("") +
- Line("#ifndef qdoc") +
- Line("") +
generateBuildFunctionDefinitions(repeats) +
- Line("") +
- Line("#endif // qdoc") +
Line("")
);
@@ -379,12 +367,8 @@ int main()
Line("#ifndef COROUTINE_STOREDFUNCTIONCALL_H") +
Line("#define COROUTINE_STOREDFUNCTIONCALL_H") +
Line("") +
- Line("#ifndef qdoc") +
- Line("") +
generateSFCs(repeats) +
Line("") +
- Line("#endif // qdoc") +
- Line("") +
Line("#endif")
);