18#include <unordered_map>
19#include <unordered_set>
52 for (
size_t i=0;i<res.
length();i++)
if (!
isId(res[i])) res[i]=
'_';
59 if (!sourceTooltips)
return;
65 id =
id.right(
id.length()-i-1);
79 QCString anc = d->
anchor();
85 p->tooltipInfo.emplace(
id.str(),d);
91 std::unordered_map<int, std::unordered_set<std::string> >::iterator it;
104 for (
const auto &[name,d] :
p->tooltipInfo)
106 bool written =
false;
111 written = it->second.find(name)!=it->second.end();
114 it->second.insert(name);
122 docInfo.
name = d->qualifiedName();
123 docInfo.
ref = d->getReference();
124 docInfo.
url = d->getOutputFileBase();
125 docInfo.
anchor = d->anchor();
126 SourceLinkInfo defInfo;
127 if (d->getBodyDef() && d->getStartBodyLine()!=-1)
129 defInfo.
file = d->getBodyDef()->name();
130 defInfo.
line = d->getStartBodyLine();
131 defInfo.
url = d->getSourceFileBase();
132 defInfo.
anchor = d->getSourceAnchor();
134 SourceLinkInfo declInfo;
147 d->briefDescriptionAsTooltip(),
The common base class of all entity definitions found in the sources.
virtual QCString anchor() const =0
virtual bool isAnonymous() const =0
virtual QCString getOutputFileBase() const =0
static QCString htmlFileExtension
virtual QCString declaration() const =0
Class representing a list of different code generators.
void writeTooltip(const QCString &id, const DocLinkInfo &docInfo, const QCString &decl, const QCString &desc, const SourceLinkInfo &defInfo, const SourceLinkInfo &declInfo)
This is an alternative implementation of QCString.
size_t length() const
Returns the length of the string, not counting the 0-terminator.
bool isEmpty() const
Returns TRUE iff the string is empty.
int findRev(char c, int index=-1, bool cs=TRUE) const
#define Config_getBool(name)
MemberDef * toMemberDef(Definition *d)
QCString stripExtensionGeneral(const QCString &fName, const QCString &ext)
QCString getFileNameExtension(const QCString &fn)
A bunch of utility functions.