9#ifndef HPP_DOXYGEN_LINKER
10#define HPP_DOXYGEN_LINKER
27_Pragma(
"clang diagnostic push")
28_Pragma(
"clang diagnostic ignored \"-Wheader-hygiene\"")
32using namespace std::literals::chrono_literals;
36_Pragma(
"clang diagnostic pop")
49#define TEST_CONSTANT "In file dxl.hpp"
53#define TEST_REDEFINED "ORIGINAL"
57#define TEST_REDEFINED "REDEFINED"
155 std::hash<alib::String>, std::equal_to<alib::String>,
156 alib::lang::Caching::Enabled,alib::Recycling::None>
XLinkMap;
336 int lineNo,
int colNo );
#define ALIB_CAMP_ENUM(T, TRecord, Camp, ResName)
constexpr const TChar * Buffer() const
A customized ALib thread-pool.
Statistics Stats
Statistics collected during the execution and printed when verbose output is requested.
alib::FTree & GetHTMLTree()
alib::SharedFTree fTreeSources
The file tree used for reading the source files.
void scanHTMLFiles()
Scans the HTML input file tree.
ExclamationFile Exclamations
void scanReplSrcFiles(const alib::String &folder)
alib::SharedFTree fTreeHTML
The file tree used for reading the html files.
void Run()
The main method of this main class of project DoxygenXLinks.
void listLinks(const alib::String &expressionString, const alib::String &format)
void AddAnchorTitle(const alib::String &anchorName, const alib::String &anchorTitle, const alib::String &sourceHint)
alib::CString ExclamationsPath
The path to this file. Todo: make configurable and auto-generated from app-name.
XLink * GetXLink(alib::String &searchString, const alib::files::File &htmlFile)
alib::SharedLock & GetHTMLTreeLock()
void writeXLinksInHTMLNotInSource()
alib::FTree & GetSourceTree()
void scheduleSrcScanners()
Launches the #"SourceLocationFinder" jobs on the #".fTreeSources;source-file tree".
void writeErrors()
Writes the non-resolved and ambiguous src links in an ordered fashion.
void schduleHTMLReplacers()
Launches the #"HTMLReplacer" jobs on the #".fTreeHTML;HTML-file tree".
alib::Verbosity verbosityGetELDecoration
Used to optimize logging speed in critical code section.
alib::StdVectorMA< Index * > Indices
~DoxygenXLinks()
Virtual destructor.
void tryResolveHTMLTargetFile(XLink &xLink)
DoxygenXLinks()
Constructor.
void GetELDecoration(Styles &styles, bool isELREFAnchor, alib::File &elLocation, alib::String targetFilename, alib::String targetAnchor, int lineNo, int colNo)
alib::MonoAllocator MA
Our mono allocator.
alib::HashMap< alib::MonoAllocator, alib::String, XLink *, std::hash< alib::String >, std::equal_to< alib::String >, alib::lang::Caching::Enabled, alib::Recycling::None > XLinkMap
The set of unique XLinks found in the source and HTML files.
DoxygenINIFile Doxyfile
The Doxyfile to process.
DXLThreadPool TPool
The thread pool used to load and search the HMTL files.
alib::SharedLock & GetSourceTreeLock()
XLink * RegisterXLink(alib::String &searchString)
void writeXLinksInSourceNotInHTML()
void schduleSourceReplacers(const alib::String &folder)
const alib::character * Buffer() const
monomem::TMonoAllocator< lang::HeapAllocator > MonoAllocator
threads::SharedLock SharedLock
strings::TCString< character > CString
containers::HashMap< TAllocator, TKey, TMapped, THash, TEqual, THashCaching, TRecycling > HashMap
files::TSharedFTree< SharedLock > SharedFTree
strings::TString< character > String
strings::TAString< character, lang::HeapAllocator > AString
characters::character character
std::vector< T, StdMA< T > > StdVectorMA
@ DuplicateChildName
todox
@ XMLEndTagNotInSameLine
todox
@ UnexpectedXMLValue
todox
@ FileNotOnRootLevel
todox
void ConvertHTMLEntitiesToAscii(alib::AString &buffer)
void ConvertASCIItoHTMLEntities(alib::AString &buffer)
alib::AString ChainedAString
@ TagFileNotFound
Doxygen tag-file not created, yet. Needs a second run.
@ CantOpenHMLFile
A HTML file was not found or could not be accessed.
@ CantOpenSrcFile
A source file was not found or could not be accessed.
@ NoSourceCopiesFound
No sources found with the specification given in the Doxyfile.
@ CantOpenDoxyfile
Doxygen INI-file (usually Doxyfile) not found.
@ NoTagfileGeneratedByDoxyfile
@ NoSourceFilesFound
No sources found with the specification given in the Doxyfile.
@ CantOpenReplSrcFile
A replacement source file was not found or could not be accessed.
@ CantWriteHMLFile
A HTML file that was read before, could not be written.
@ NoHTMLFilesFound
HTML files to process not found.
@ CantWriteReplSrcFile
A replacement source file was not found or could not be accessed.
Some statistical data displayed with verbose output option. (todo!).
std::atomic< int > SourceFileSize
The cumulated size of the source files.
std::atomic< int > UnresolvedXLinks
The number of unresolved XLinks.
std::atomic< int > ReplSourceFileLines
The number of code lines read in the replacement source tree.
alib::Ticks::Duration TimeIndexAndSourceLoading
Duration of reading tag-files and sources.
std::atomic< int > AmbiguousXLinks
The number of ambiguous XLinks.
std::atomic< int > XLinksWithWarnings
The number of unresolved XLinks.
std::atomic< int > ELREFReplacementsUnresolved
The number of unresolved ELREF-anchors.
std::atomic< int > ELREFReplacements
The number of attributed ELREF-anchors.
std::atomic< int > UniqueXLinks
The number of unique XLinks found in HTML files.
alib::Ticks::Duration TimeSourceReplacements
Duration of reading and writing the restorable source copies.
std::atomic< int > ELReplacementsUnresolved
The number of unresolved EL-anchors.
std::atomic< int > HTMLFiles
The number of HTML files.
std::atomic< int > ReplSourceFiles
The number of replaced source files.
alib::Ticks::Duration TimeHTMLReplacements
Duration of reading and writing HTML files.
std::atomic< int > SourceFiles
The number of source files.
std::atomic< int > XLinksWithErrors
The number of XLinks that have an erroneous specification.
std::atomic< int > ReplSourceFileSize
The cumulated size of the replaced source files.
std::atomic< int > HTMLFileSize
The cumulated size of the HTML file lines.
std::atomic< int > SourceFileLines
The number of code lines read.
std::atomic< int > ELReplacements
The number of attributed EL-anchors.
std::atomic< int > HTMLFileLines
The number of HTML file lines.