|
Packit |
1c1d7e |
/******************************************************************************
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Copyright (C) 1997-2015 by Dimitri van Heesch.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Permission to use, copy, modify, and distribute this software and its
|
|
Packit |
1c1d7e |
* documentation under the terms of the GNU General Public License is hereby
|
|
Packit |
1c1d7e |
* granted. No representations are made about the suitability of this software
|
|
Packit |
1c1d7e |
* for any purpose. It is provided "as is" without express or implied warranty.
|
|
Packit |
1c1d7e |
* See the GNU General Public License for more details.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
* Documents produced by Doxygen are derivative works derived from the
|
|
Packit |
1c1d7e |
* input used in their production; they are not affected by this license.
|
|
Packit |
1c1d7e |
*
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#ifndef UTIL_H
|
|
Packit |
1c1d7e |
#define UTIL_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/*! \file
|
|
Packit |
1c1d7e |
* \brief A bunch of utility functions.
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <qlist.h>
|
|
Packit |
1c1d7e |
#include <ctype.h>
|
|
Packit |
1c1d7e |
#include "types.h"
|
|
Packit |
1c1d7e |
#include "sortdict.h"
|
|
Packit |
1c1d7e |
#include "docparser.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class ClassDef;
|
|
Packit |
1c1d7e |
class FileDef;
|
|
Packit |
1c1d7e |
class MemberList;
|
|
Packit |
1c1d7e |
class NamespaceDef;
|
|
Packit |
1c1d7e |
class FileNameDict;
|
|
Packit |
1c1d7e |
class ArgumentList;
|
|
Packit |
1c1d7e |
class OutputList;
|
|
Packit |
1c1d7e |
class OutputDocInterface;
|
|
Packit |
1c1d7e |
class MemberDef;
|
|
Packit |
1c1d7e |
class ExampleSDict;
|
|
Packit |
1c1d7e |
class ClassSDict;
|
|
Packit |
1c1d7e |
class BaseClassList;
|
|
Packit |
1c1d7e |
class GroupDef;
|
|
Packit |
1c1d7e |
class NamespaceSDict;
|
|
Packit |
1c1d7e |
class ClassList;
|
|
Packit |
1c1d7e |
class MemberGroupSDict;
|
|
Packit |
1c1d7e |
struct TagInfo;
|
|
Packit |
1c1d7e |
class MemberNameInfoSDict;
|
|
Packit |
1c1d7e |
struct ListItemInfo;
|
|
Packit |
1c1d7e |
class PageDef;
|
|
Packit |
1c1d7e |
struct SectionInfo;
|
|
Packit |
1c1d7e |
class QDir;
|
|
Packit |
1c1d7e |
class Definition;
|
|
Packit |
1c1d7e |
class BufStr;
|
|
Packit |
1c1d7e |
class QFileInfo;
|
|
Packit |
1c1d7e |
class QStrList;
|
|
Packit |
1c1d7e |
class FTextStream;
|
|
Packit |
1c1d7e |
class QFile;
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Abstract interface for a hyperlinked text fragment. */
|
|
Packit |
1c1d7e |
class TextGeneratorIntf
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
virtual ~TextGeneratorIntf() {}
|
|
Packit |
1c1d7e |
virtual void writeString(const char *,bool) const = 0;
|
|
Packit |
1c1d7e |
virtual void writeBreak(int indent) const = 0;
|
|
Packit |
1c1d7e |
virtual void writeLink(const char *extRef,const char *file,
|
|
Packit |
1c1d7e |
const char *anchor,const char *text
|
|
Packit |
1c1d7e |
) const = 0;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Implements TextGeneratorIntf for an OutputDocInterface stream. */
|
|
Packit |
1c1d7e |
class TextGeneratorOLImpl : public TextGeneratorIntf
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
virtual ~TextGeneratorOLImpl() {}
|
|
Packit |
1c1d7e |
TextGeneratorOLImpl(OutputDocInterface &od);
|
|
Packit |
1c1d7e |
void writeString(const char *s,bool keepSpaces) const;
|
|
Packit |
1c1d7e |
void writeBreak(int indent) const;
|
|
Packit |
1c1d7e |
void writeLink(const char *extRef,const char *file,
|
|
Packit |
1c1d7e |
const char *anchor,const char *text
|
|
Packit |
1c1d7e |
) const;
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
OutputDocInterface &m_od;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** @brief maps a unicode character code to a list of T::ElementType's
|
|
Packit |
1c1d7e |
*/
|
|
Packit |
1c1d7e |
template<class T>
|
|
Packit |
1c1d7e |
class LetterToIndexMap : public SIntDict<T>
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
public:
|
|
Packit |
1c1d7e |
LetterToIndexMap() { SIntDict<T>::setAutoDelete(TRUE); }
|
|
Packit |
1c1d7e |
void append(uint letter,typename T::ElementType *elem)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
T *l = SIntDict<T>::find((int)letter);
|
|
Packit |
1c1d7e |
if (l==0)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
l = new T(letter);
|
|
Packit |
1c1d7e |
SIntDict<T>::inSort((int)letter,l);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
l->append(elem);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
private:
|
|
Packit |
1c1d7e |
int compareValues(const T *l1, const T *l2) const
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return (int)l1->letter()-(int)l2->letter();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString langToString(SrcLangExt lang);
|
|
Packit |
1c1d7e |
QCString getLanguageSpecificSeparator(SrcLangExt lang,bool classScope=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//--------------------------------------------------------------------
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void linkifyText(const TextGeneratorIntf &ol,
|
|
Packit |
1c1d7e |
const Definition *scope,
|
|
Packit |
1c1d7e |
const FileDef *fileScope,
|
|
Packit |
1c1d7e |
const Definition *self,
|
|
Packit |
1c1d7e |
const char *text,
|
|
Packit |
1c1d7e |
bool autoBreak=FALSE,
|
|
Packit |
1c1d7e |
bool external=TRUE,
|
|
Packit |
1c1d7e |
bool keepSpaces=FALSE,
|
|
Packit |
1c1d7e |
int indentLevel=0
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void setAnchors(MemberList *ml);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString fileToString(const char *name,bool filter=FALSE,bool isSourceCode=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString dateToString(bool);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool getDefs(const QCString &scopeName,
|
|
Packit |
1c1d7e |
const QCString &memberName,
|
|
Packit |
1c1d7e |
const char *,
|
|
Packit |
1c1d7e |
MemberDef *&md,
|
|
Packit |
1c1d7e |
ClassDef *&cd,
|
|
Packit |
1c1d7e |
FileDef *&fd,
|
|
Packit |
1c1d7e |
NamespaceDef *&nd,
|
|
Packit |
1c1d7e |
GroupDef *&gd,
|
|
Packit |
1c1d7e |
bool forceEmptyScope=FALSE,
|
|
Packit |
1c1d7e |
FileDef *currentFile=0,
|
|
Packit |
1c1d7e |
bool checkCV=FALSE,
|
|
Packit |
1c1d7e |
const char *forceTagFile=0
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString getFileFilter(const char* name,bool isSourceCode);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool resolveRef(/* in */ const char *scName,
|
|
Packit |
1c1d7e |
/* in */ const char *name,
|
|
Packit |
1c1d7e |
/* in */ bool inSeeBlock,
|
|
Packit |
1c1d7e |
/* out */ Definition **resContext,
|
|
Packit |
1c1d7e |
/* out */ MemberDef **resMember,
|
|
Packit |
1c1d7e |
/* in */ bool lookForSpecializations = TRUE,
|
|
Packit |
1c1d7e |
/* in */ FileDef *currentFile = 0,
|
|
Packit |
1c1d7e |
/* in */ bool checkScope = FALSE
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool resolveLink(/* in */ const char *scName,
|
|
Packit |
1c1d7e |
/* in */ const char *lr,
|
|
Packit |
1c1d7e |
/* in */ bool inSeeBlock,
|
|
Packit |
1c1d7e |
/* out */ Definition **resContext,
|
|
Packit |
1c1d7e |
/* out */ QCString &resAnchor
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//bool generateRef(OutputDocInterface &od,const char *,
|
|
Packit |
1c1d7e |
// const char *,bool inSeeBlock,const char * =0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool generateLink(OutputDocInterface &od,const char *,
|
|
Packit |
1c1d7e |
const char *,bool inSeeBlock,const char *);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void generateFileRef(OutputDocInterface &od,const char *,
|
|
Packit |
1c1d7e |
const char *linkTxt=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writePageRef(OutputDocInterface &od,const char *cn,const char *mn);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString getCanonicalTemplateSpec(Definition *d,FileDef *fs,const QCString& spec);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool matchArguments2(Definition *srcScope,FileDef *srcFileScope,ArgumentList *srcAl,
|
|
Packit |
1c1d7e |
Definition *dstScope,FileDef *dstFileScope,ArgumentList *dstAl,
|
|
Packit |
1c1d7e |
bool checkCV
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void mergeArguments(ArgumentList *,ArgumentList *,bool forceNameOverwrite=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString substituteClassNames(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString substitute(const QCString &s,const QCString &src,const QCString &dst);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString clearBlock(const char *s,const char *begin,const char *end);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString selectBlock(const QCString& s,const QCString &name,bool which);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString resolveDefines(const char *n);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ClassDef *getClass(const char *key);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ClassDef *getResolvedClass(const Definition *scope,
|
|
Packit |
1c1d7e |
const FileDef *fileScope,
|
|
Packit |
1c1d7e |
const char *key,
|
|
Packit |
1c1d7e |
MemberDef **pTypeDef=0,
|
|
Packit |
1c1d7e |
QCString *pTemplSpec=0,
|
|
Packit |
1c1d7e |
bool mayBeUnlinkable=FALSE,
|
|
Packit |
1c1d7e |
bool mayBeHidden=FALSE,
|
|
Packit |
1c1d7e |
QCString *pResolvedType=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
NamespaceDef *getResolvedNamespace(const char *key);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
FileDef *findFileDef(const FileNameDict *fnDict,const char *n,
|
|
Packit |
1c1d7e |
bool &ambig);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString showFileDefMatches(const FileNameDict *fnDict,const char *n);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int guessSection(const char *name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
inline bool isId(int c)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
return c=='_' || c>=128 || c<0 || isalnum(c);
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString removeRedundantWhiteSpace(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString argListToString(ArgumentList *al,bool useCanonicalType=FALSE,bool showDefVals=TRUE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString tempArgListToString(ArgumentList *al,SrcLangExt lang);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString generateMarker(int id);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writeExample(OutputList &ol,ExampleSDict *el);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripAnonymousNamespaceScope(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripFromPath(const QCString &path);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripFromIncludePath(const QCString &path);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool rightScopeMatch(const QCString &scope, const QCString &name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool leftScopeMatch(const QCString &scope, const QCString &name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString substituteKeywords(const QCString &s,const char *title,
|
|
Packit |
1c1d7e |
const char *projName,const char *projNum,const char *projBrief);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int getPrefixIndex(const QCString &name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString removeAnonymousScopes(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString replaceAnonymousScopes(const QCString &s,const char *replacement=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void initClassHierarchy(ClassSDict *cl);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool hasVisibleRoot(BaseClassList *bcl);
|
|
Packit |
1c1d7e |
bool classHasVisibleChildren(ClassDef *cd);
|
|
Packit |
1c1d7e |
bool namespaceHasVisibleChild(NamespaceDef *nd,bool includeClasses);
|
|
Packit |
1c1d7e |
bool classVisibleInIndex(ClassDef *cd);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int minClassDistance(const ClassDef *cd,const ClassDef *bcd,int level=0);
|
|
Packit |
1c1d7e |
Protection classInheritedProtectionLevel(ClassDef *cd,ClassDef *bcd,Protection prot=Public,int level=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertNameToFile(const char *name,bool allowDots=FALSE,bool allowUnderscore=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void extractNamespaceName(const QCString &scopeName,
|
|
Packit |
1c1d7e |
QCString &className,QCString &namespaceName,
|
|
Packit |
1c1d7e |
bool allowEmptyClass=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString insertTemplateSpecifierInScope(const QCString &scope,const QCString &templ);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripScope(const char *name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertToId(const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertToHtml(const char *s,bool keepEntities=TRUE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertToLaTeX(const QCString &s,bool insideTabbing=FALSE,bool keepSpaces=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertToXML(const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertToJSString(const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString getOverloadDocs();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void addMembersToMemberGroup(/* in */ MemberList *ml,
|
|
Packit |
1c1d7e |
/* in,out */ MemberGroupSDict **ppMemberGroupSDict,
|
|
Packit |
1c1d7e |
/* in */ Definition *context);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int extractClassNameFromType(const QCString &type,int &pos,
|
|
Packit |
1c1d7e |
QCString &name,QCString &templSpec,SrcLangExt=SrcLangExt_Unknown);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString normalizeNonTemplateArgumentsInString(
|
|
Packit |
1c1d7e |
const QCString &name,
|
|
Packit |
1c1d7e |
Definition *context,
|
|
Packit |
1c1d7e |
const ArgumentList *formalArgs);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString substituteTemplateArgumentsInString(
|
|
Packit |
1c1d7e |
const QCString &name,
|
|
Packit |
1c1d7e |
ArgumentList *formalArgs,
|
|
Packit |
1c1d7e |
ArgumentList *actualArgs);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QList<ArgumentList> *copyArgumentLists(const QList<ArgumentList> *srcLists);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripTemplateSpecifiersFromScope(const QCString &fullName,
|
|
Packit |
1c1d7e |
bool parentOnly=TRUE,
|
|
Packit |
1c1d7e |
QCString *lastScopeStripped=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString resolveTypeDef(Definition *d,const QCString &name,
|
|
Packit |
1c1d7e |
Definition **typedefContext=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString mergeScopes(const QCString &leftScope,const QCString &rightScope);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int getScopeFragment(const QCString &s,int p,int *l);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int filterCRLF(char *buf,int len);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void addRefItem(const QList<ListItemInfo> *sli,const char *prefix,
|
|
Packit |
1c1d7e |
const char *key,
|
|
Packit |
1c1d7e |
const char *name,const char *title,const char *args,Definition *scope);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
PageDef *addRelatedPage(const char *name,const QCString &ptitle,
|
|
Packit |
1c1d7e |
const QCString &doc,QList<SectionInfo> *anchors,
|
|
Packit |
1c1d7e |
const char *fileName,int startLine,
|
|
Packit |
1c1d7e |
const QList<ListItemInfo> *sli,
|
|
Packit |
1c1d7e |
GroupDef *gd=0,
|
|
Packit |
1c1d7e |
TagInfo *tagInfo=0,
|
|
Packit |
1c1d7e |
SrcLangExt lang=SrcLangExt_Unknown
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString escapeCharsInString(const char *name,bool allowDots,bool allowUnderscore=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void addGroupListToTitle(OutputList &ol,Definition *d);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void filterLatexString(FTextStream &t,const char *str,
|
|
Packit |
1c1d7e |
bool insideTabbing=FALSE,
|
|
Packit |
1c1d7e |
bool insidePre=FALSE,
|
|
Packit |
1c1d7e |
bool insideItem=FALSE,
|
|
Packit |
1c1d7e |
bool keepSpaces=FALSE);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString latexEscapeLabelName(const char *s,bool insideTabbing);
|
|
Packit |
1c1d7e |
QCString latexEscapeIndexChars(const char *s,bool insideTabbing);
|
|
Packit |
1c1d7e |
QCString latexEscapePDFString(const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString rtfFormatBmkStr(const char *name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString linkToText(SrcLangExt lang,const char *link,bool isFileName);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool checkExtension(const char *fName, const char *ext);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripExtensionGeneral(const char *fName, const char *ext);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripExtension(const char *fName);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void replaceNamespaceAliases(QCString &scope,int i);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int isAccessibleFrom(const Definition *scope,const FileDef *fileScope,const Definition *item);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int isAccessibleFromWithExpScope(const Definition *scope,const FileDef *fileScope,const Definition *item,
|
|
Packit |
1c1d7e |
const QCString &explicitScopePart);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int computeQualifiedIndex(const QCString &name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void addDirPrefix(QCString &fileName);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString relativePathToRoot(const char *name);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void createSubDirs(QDir &d);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripPath(const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool containsWord(const QCString &s,const QCString &word);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool findAndRemoveWord(QCString &s,const QCString &word);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripLeadingAndTrailingEmptyLines(const QCString &s,int &docLine);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//void stringToSearchIndex(const QCString &docUrlBase,const QCString &title,
|
|
Packit |
1c1d7e |
// const QCString &str, bool priority=FALSE,
|
|
Packit |
1c1d7e |
// const QCString &anchor="");
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool updateLanguageMapping(const QCString &extension,const QCString &parser);
|
|
Packit |
1c1d7e |
SrcLangExt getLanguageFromFileName(const QCString& fileName);
|
|
Packit |
1c1d7e |
void initDefaultExtensionMapping();
|
|
Packit |
1c1d7e |
void addCodeOnlyMappings();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
MemberDef *getMemberFromSymbol(Definition *scope,FileDef *fileScope,
|
|
Packit |
1c1d7e |
const char *n);
|
|
Packit |
1c1d7e |
bool checkIfTypedef(Definition *scope,FileDef *fileScope,const char *n);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
ClassDef *newResolveTypedef(const FileDef *fileScope,MemberDef *md,
|
|
Packit |
1c1d7e |
MemberDef **pMemType=0,QCString *pTemplSpec=0,
|
|
Packit |
1c1d7e |
QCString *pResolvedType=0,
|
|
Packit |
1c1d7e |
ArgumentList *actTemplParams=0);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString parseCommentAsText(const Definition *scope,const MemberDef *member,const QCString &doc,const QCString &fileName,int lineNr);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString transcodeCharacterStringToUTF8(const QCString &input);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString recodeString(const QCString &str,const char *fromEncoding,const char *toEncoding);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString extractAliasArgs(const QCString &args,int pos);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
int countAliasArguments(const QCString argList);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
//QCString replaceAliasArguments(const QCString &aliasValue,const QCString &argList);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString resolveAliasCmd(const QCString aliasCmd);
|
|
Packit |
1c1d7e |
QCString expandAlias(const QCString &aliasName,const QCString &aliasValue);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writeTypeConstraints(OutputList &ol,Definition *d,ArgumentList *al);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString convertCharEntitiesToUTF8(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void stackTrace();
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool readInputFile(const char *fileName,BufStr &inBuf,
|
|
Packit |
1c1d7e |
bool filter=TRUE,bool isSourceCode=FALSE);
|
|
Packit |
1c1d7e |
QCString filterTitle(const QCString &title);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool patternMatch(const QFileInfo &fi,const QStrList *patList);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString externalLinkTarget();
|
|
Packit |
1c1d7e |
QCString externalRef(const QCString &relPath,const QCString &ref,bool href);
|
|
Packit |
1c1d7e |
int nextUtf8CharPosition(const QCString &utf8Str,int len,int startPos);
|
|
Packit |
1c1d7e |
const char *writeUtf8Char(FTextStream &t,const char *s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
/** Data associated with a HSV colored image. */
|
|
Packit |
1c1d7e |
struct ColoredImgDataItem
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
const char *name;
|
|
Packit |
1c1d7e |
unsigned short width;
|
|
Packit |
1c1d7e |
unsigned short height;
|
|
Packit |
1c1d7e |
unsigned char *content;
|
|
Packit |
1c1d7e |
unsigned char *alpha;
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void writeColoredImgData(const char *dir,ColoredImgDataItem data[]);
|
|
Packit |
1c1d7e |
QCString replaceColorMarkers(const char *str);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool copyFile(const QCString &src,const QCString &dest);
|
|
Packit |
1c1d7e |
QCString extractBlock(const QCString text,const QCString marker);
|
|
Packit |
1c1d7e |
int lineBlock(const QCString text,const QCString marker);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString correctURL(const QCString &url,const QCString &relPath);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString processMarkup(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool protectionLevelVisible(Protection prot);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString stripIndentation(const QCString &s);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString getDotImageExtension(void);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool fileVisibleInIndex(FileDef *fd,bool &genSourceFile);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void addDocCrossReference(MemberDef *src,MemberDef *dst);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
uint getUtf8Code( const QCString& s, int idx );
|
|
Packit |
1c1d7e |
uint getUtf8CodeToLower( const QCString& s, int idx );
|
|
Packit |
1c1d7e |
uint getUtf8CodeToUpper( const QCString& s, int idx );
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
QCString extractDirection(QCString &docs);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
void convertProtectionLevel(
|
|
Packit |
1c1d7e |
MemberListType inListType,
|
|
Packit |
1c1d7e |
Protection inProt,
|
|
Packit |
1c1d7e |
int *outListType1,
|
|
Packit |
1c1d7e |
int *outListType2
|
|
Packit |
1c1d7e |
);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
bool mainPageHasTitle();
|
|
Packit |
1c1d7e |
bool openOutputFile(const char *outFile,QFile &f);
|
|
Packit |
1c1d7e |
void writeExtraLatexPackages(FTextStream &t);
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|