61 if (ext.
at(0)<
'0' || ext.
at(0)>
'9')
85 const char *p=str.
data();
91 case '-': result +=
"\\-";
break;
92 case '.': result +=
"\\&.";
break;
93 case '\\': result +=
"\\\\";
break;
94 case '\n': result +=
"\n";
break;
96 default: result += c;
break;
144 const char *p=name.
data();
150 case '-': *
m_t <<
"\\-";
break;
151 case '.': *
m_t <<
"\\&.";
break;
152 case '\\': *
m_t <<
"\\\\";
m_col++;
break;
153 case '\n': *
m_t <<
"\n";
m_col=0;
break;
169 const char *p=str.
data();
180 case '-': *
m_t <<
"\\-";
break;
181 case '.': *
m_t <<
"\\&.";
break;
183 int spacesToNextTabStop = tabSize - (
m_col%tabSize);
184 while (spacesToNextTabStop--)
186 if (
m_col>=stripAmount) *
m_t <<
" ";
191 case ' ':
if (
m_col>=stripAmount) *
m_t <<
" ";
194 case '\n': *
m_t <<
"\n";
m_col=0;
break;
195 case '\\': *
m_t <<
"\\\\";
m_col++;
break;
276 Dir d(manOutput.
str());
279 term(
"Could not create output directory %s\n",
qPrint(manOutput));
299 if (name.
isEmpty())
return "noname";
301 const char *p=name.
data();
329 if (fileName.
right(manExtension.
length())!=manExtension)
331 fileName+=manExtension;
354 case TIMESTAMP_t::YES:
355 case TIMESTAMP_t::DATETIME:
358 case TIMESTAMP_t::DATE:
361 case TIMESTAMP_t::NO:
370 m_t <<
"\" \\\" -*- nroff -*-\n";
463 const char *p=str.
data();
469 case '-':
m_t <<
"\\-";
break;
470 case '.':
m_t <<
"\\&.";
break;
471 case '\\':
m_t <<
"\\\\";
m_col++;
break;
472 case '\n':
m_t <<
"\n";
m_col=0;
break;
489 case '\\':
m_t <<
"\\\\";
break;
491 default:
m_t << c;
break;
543 QCString baseName = name;
545 if (i!=-1) baseName=baseName.
right(baseName.
length()-i-2);
556 if (linkStream.is_open())
587 m_t <<
".SH SYNOPSIS\n.br\n.PP\n";
626 m_t <<
"\n.ti -1c\n.RI \"";
653 m_t <<
"\n.PP\n.RI \"\\fB";
658 m_t <<
"\\fP\"\n.br\n";
695 default:
ASSERT(0);
break;
713 default:
ASSERT(0);
break;
728 {
m_t <<
"\n" <<
".PP\n";
765 const DocNodeAST *astImpl =
dynamic_cast<const DocNodeAST *
>(ast);
769 std::visit(visitor,astImpl->
root);
830 m_t <<
"\n.PP\n" <<
".in -1c\n";
837 m_t <<
"\\fP\"\n" <<
".in +1c\n";
905 m_t <<
"\\fR [" << l <<
"]\\fP";
906 if (!isLast)
m_t <<
", ";
929 if (openBracket)
m_t <<
"(";
934 if (last && closeBracket)
The common base class of all entity definitions found in the sources.
virtual QCString getDefFileExtension() const =0
bool mkdir(const std::string &path, bool acceptsAbsPath=true) const
opaque representation of the abstract syntax tree (AST)
size_t m_stripIndentAmount
void codify(const QCString &text) override
void stripCodeComments(bool b) override
ManCodeGenerator(TextStream *t)
void endSpecialComment() override
void startSpecialComment() override
void writeLineNumber(const QCString &, const QCString &, const QCString &, int l, bool) override
void startCodeFragment(const QCString &style) override
void setStripIndentAmount(size_t amount) override
void endCodeFragment(const QCString &) override
void writeCodeLink(CodeSymbolType type, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name, const QCString &tooltip) override
void startConstraintDocs() override
OutputType type() const override
void startAnonTypeScope(int) override
void endTitleHead(const QCString &, const QCString &) override
void startBold() override
void endMemberItem(MemberItemType) override
void startEmphasis() override
void endLabels() override
ManCodeGenerator * m_codeGen
void addCodeGen(OutputCodeList &list) override
void endAnonTypeScope(int) override
void writeDoc(const IDocNodeAST *ast, const Definition *, const MemberDef *, int) override
void endGroupHeader(int) override
void endSection(const QCString &, SectionType) override
void endMemberGroup(bool) override
void endConstraintDocs() override
std::unique_ptr< OutputCodeList > m_codeList
void endMemberList() override
void startParagraph(const QCString &classDef) override
void endParameterExtra(bool, bool, bool) override
void startMemberItem(const QCString &, MemberItemType, const QCString &) override
void startSection(const QCString &, const QCString &, SectionType) override
void endDescTable() override
void endMemberGroupHeader() override
void startDoxyAnchor(const QCString &, const QCString &, const QCString &, const QCString &, const QCString &) override
void endInlineMemberType() override
void startMemberHeader(const QCString &, int) override
void endMemberHeader() override
void startMemberDocSimple(bool) override
void startExamples() override
void startGroupHeader(int) override
void startConstraintParam() override
void endInlineMemberDoc() override
void endDescForItem() override
void endParagraph() override
void endConstraintList() override
void endItemListItem() override
void writeLabel(const QCString &l, bool isLast) override
void endPlainFile() override
void startParameterList(bool) override
void writeObjectLink(const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name) override
void startMemberGroupDocs() override
void endInlineHeader() override
void startItemListItem() override
void endExamples() override
ManGenerator & operator=(const ManGenerator &)
void endIndexItem(const QCString &ref, const QCString &file) override
void endInlineMemberName() override
void startInlineMemberType() override
void writeStartAnnoItem(const QCString &type, const QCString &file, const QCString &path, const QCString &name) override
void startIndexItem(const QCString &ref, const QCString &file) override
void startConstraintList(const QCString &) override
void startMemberGroupHeader(bool) override
void startFile(const QCString &name, const QCString &manName, const QCString &title, int id, int hierarchyLevel) override
void writeSynopsis() override
void endConstraintType() override
void endCompoundTemplateParams() override
void startMemberDoc(const QCString &, const QCString &, const QCString &, const QCString &, int, int, bool) override
void startDescTable(const QCString &title, const bool hasInits) override
void endMemberGroupDocs() override
void addLabel(const QCString &, const QCString &) override
void startConstraintType() override
void writeInheritedSectionTitle(const QCString &, const QCString &, const QCString &, const QCString &, const QCString &, const QCString &) override
void writeChar(char c) override
void endParameterType() override
void writeString(const QCString &text) override
void startDescForItem() override
void startCompoundTemplateParams() override
void startMemberList() override
void startInlineHeader() override
void startMemberGroup() override
void endHeaderSection() override
void startInlineMemberDoc() override
void endConstraintParam() override
void startLabels() override
void startInlineMemberName() override
void docify(const QCString &text) override
void startPlainFile(const QCString &name) override
void endMemberDocSimple(bool) override
void endMemberDoc(bool) override
void endEmphasis() override
A model of a class/file/namespace member symbol.
Class representing a list of different code generators.
void add(OutputCodeIntfPtr &&p)
Abstract interface for output generators.
QCString fileName() const
This is an alternative implementation of QCString.
QCString & prepend(const char *s)
size_t length() const
Returns the length of the string, not counting the 0-terminator.
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
char & at(size_t i)
Returns a reference to the character at index i.
bool isEmpty() const
Returns TRUE iff the string is empty.
const std::string & str() const
QCString right(size_t len) const
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
int findRev(char c, int index=-1, bool cs=TRUE) const
const char * data() const
Returns a pointer to the contents of the string in the form of a 0-terminated C string.
static constexpr int Section
static constexpr int Subsection
static constexpr int Subsubsection
static constexpr int Page
static constexpr int Paragraph
static constexpr int Subsubparagraph
static constexpr int Subparagraph
Text streaming class that buffers data.
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0
virtual QCString trEnumerationValues()=0
virtual QCString trCompoundMembers()=0
virtual QCString trExamples()=0
#define Config_getInt(name)
#define Config_getBool(name)
#define Config_getString(name)
#define Config_getEnum(name)
QCString dateToString(DateTimeType includeTime)
Returns the current date, when includeTime is set also the time is provided.
static QCString objectLinkToString(const QCString &, const QCString &f, const QCString &anchor, const QCString &text)
Translator * theTranslator
static QCString getSubdir()
static QCString getExtension()
static QCString docifyToString(const QCString &str)
static QCString objectLinkToString(const QCString &text)
static QCString buildFileName(const QCString &name)
std::ofstream openOutputStream(const QCString &name, bool append=false)
OutputCodeDefer< ManCodeGenerator > ManCodeGeneratorDefer
Portable versions of functions that are platform dependent.
const char * qPrint(const char *s)
const char * writeUTF8Char(TextStream &t, const char *s)
Writes the UTF8 character pointed to by s to stream t and returns a pointer to the next character.
Various UTF8 related helper functions.
size_t updateColumnCount(const char *s, size_t col)
void clearSubDirs(const Dir &d)
void createSubDirs(const Dir &d)
A bunch of utility functions.