Doxygen
Loading...
Searching...
No Matches
DocVisitor Class Reference

Helper base class for functionality shared by all visitors. More...

#include <src/docvisitor.h>

Inheritance diagram for DocVisitor:

Classes

struct  Private

Public Member Functions

 DocVisitor ()
virtual ~DocVisitor ()
CodeParserInterfacegetCodeParser (const DString &langExt)
void pushHidden (bool hide)
bool popHidden ()

Private Attributes

std::unique_ptr< Privatem_p

Detailed Description

Helper base class for functionality shared by all visitors.

Definition at line 28 of file docvisitor.h.

Constructor & Destructor Documentation

◆ DocVisitor()

DocVisitor::DocVisitor ( )

Definition at line 35 of file docvisitor.cpp.

35 : m_p(std::make_unique<Private>())
36{
37}
std::unique_ptr< Private > m_p
Definition docvisitor.h:39

References m_p.

◆ ~DocVisitor()

DocVisitor::~DocVisitor ( )
virtual

Definition at line 39 of file docvisitor.cpp.

40{
41}

Member Function Documentation

◆ getCodeParser()

CodeParserInterface & DocVisitor::getCodeParser ( const DString & langExt)

Definition at line 43 of file docvisitor.cpp.

44{
45 std::string ext = extension.str();
46 // for each extension we create a code parser once per visitor, so that
47 // the context of the same parser object is reused throughout multiple passes for instance
48 // for code fragments shown via dontinclude.
49 auto it = m_p->parserFactoryMap.find(ext);
50 if (it==m_p->parserFactoryMap.end())
51 {
52 auto factory = Doxygen::parserManager->getCodeParserFactory(extension);
53 auto result = m_p->parserFactoryMap.emplace(ext,factory());
54 it = result.first;
55 }
56 return *it->second.get();
57}
static ParserManager * parserManager
Definition doxygen.h:122
CodeParserFactory & getCodeParserFactory(const DString &extension)
Get the factory for create code parser objects with a given extension.
Definition parserintf.h:259

References ParserManager::getCodeParserFactory(), m_p, Doxygen::parserManager, and DString::str().

Referenced by DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), LatexDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), ManDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), RTFDocVisitor::operator()(), XmlDocVisitor::operator()(), XmlDocVisitor::operator()(), and XmlDocVisitor::operator()().

◆ popHidden()

bool DocVisitor::popHidden ( )

Definition at line 64 of file docvisitor.cpp.

65{
66 if (m_p->hidden.empty()) return false;
67 bool v = m_p->hidden.top();
68 m_p->hidden.pop();
69 return v;
70}

References m_p.

Referenced by RTFDocVisitor::includePicturePostRTF(), DocbookDocVisitor::operator()(), HtmlDocVisitor::operator()(), LatexDocVisitor::operator()(), ManDocVisitor::operator()(), RTFDocVisitor::operator()(), and XmlDocVisitor::operator()().

◆ pushHidden()

Member Data Documentation

◆ m_p

std::unique_ptr<Private> DocVisitor::m_p
private

Definition at line 39 of file docvisitor.h.

Referenced by DocVisitor(), getCodeParser(), popHidden(), and pushHidden().


The documentation for this class was generated from the following files: