18#include <unordered_map>
32static std::unordered_map<std::string,std::string>
g_symbolMap;
47 if (inputSource.empty())
51 else if (inputSource.size()==1)
55 err(
"Cannot find directory {}. "
56 "Check the value of the INPUT tag in the configuration file.\n",
62 err(
"If you use USE_HTAGS then INPUT should specify a single directory.\n");
69 DString commandLine =
" -g -s -a -n ";
70 if (!quiet) commandLine +=
"-v ";
71 if (warnings) commandLine +=
"-w ";
72 if (!htagsOptions.
empty())
75 commandLine += htagsOptions;
77 if (!projectName.
empty())
79 commandLine +=
"-t \"";
80 commandLine += projectName;
81 if (!projectNumber.
empty())
84 commandLine += projectNumber;
88 commandLine +=
" \"" + htmldir +
"\"";
95 err(
"Problems running htags. Check your installation\n");
109 DString fileMapName = htmlDir+
"/HTML/FILEMAP";
128 while (getline(f,lineStr))
136 size_t ext=value.
rfind(
'.');
146 err(
"file {} cannot be opened\n",fileMapName);
161 if (symName.
length()>dl+1)
163 symName = symName.
mid(dl+1);
165 if (!symName.
empty())
171 url =
DString(
"HTML/"+it->second);
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
size_t rfind(char c, size_t pos=npos) const
DString mid(size_t index, size_t len=npos) const
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
static constexpr size_t npos
value used to indicate 'not found' or 'to the end of the string', matching std::string::npos
size_t find(char c, size_t pos=0) const
DString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
DString left(size_t len) const
const std::string & str() const
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Class representing a directory in the file system.
static std::string currentDirPath()
std::string absPath() const
void setPath(const std::string &path)
static bool setCurrent(const std::string &path)
Minimal replacement for QFileInfo.
#define Config_getList(name)
#define Config_getBool(name)
#define Config_getString(name)
std::vector< std::string > StringVector
std::ifstream openInputStream(const DString &name, bool binary=false, bool openAtEnd=false)
int system(const DString &command, const DString &args, bool commandHasConsole=true)
Portable versions of functions that are platform dependent.
A bunch of utility functions.