16#include <unordered_map>
28 std::unordered_map< std::string, std::unique_ptr<CodeParserInterface> >
parserFactoryMap;
42 std::string ext = extension.
str();
46 auto it =
m_p->parserFactoryMap.find(ext);
47 if (it==
m_p->parserFactoryMap.end())
50 auto result =
m_p->parserFactoryMap.emplace(ext,factory());
53 return *it->second.get();
58 m_p->hidden.push(hide);
63 if (
m_p->hidden.empty())
return false;
64 bool v =
m_p->hidden.top();
Abstract interface for code parsers.
CodeParserInterface & getCodeParser(const QCString &langExt)
void pushHidden(bool hide)
std::unique_ptr< Private > m_p
static ParserManager * parserManager
CodeParserFactory & getCodeParserFactory(const QCString &extension)
Get the factory for create code parser objects with a given extension.
This is an alternative implementation of QCString.
const std::string & str() const
std::unordered_map< std::string, std::unique_ptr< CodeParserInterface > > parserFactoryMap
std::stack< bool > hidden
This file contains a number of basic enums and types.
A bunch of utility functions.