Doxygen
Loading...
Searching...
No Matches
anonymous_namespace{tagreader.cpp} Namespace Reference

Classes

class  TagAnchorInfo
 Information about an linkable anchor. More...
class  TagEnumValueInfo
 Container for enum values that are scoped within an enum. More...
class  TagIncludeInfo
 Container for include info that can be read from a tagfile. More...
class  TagMemberInfo
 Container for member specific info that can be read from a tagfile. More...
struct  TagCompoundInfo
 Base class for all compound types. More...
struct  TagClassInfo
 Container for class specific info that can be read from a tagfile. More...
struct  TagConceptInfo
 Container for concept specific info that can be read from a tagfile. More...
struct  TagModuleInfo
 Container for module specific info that can be read from a tagfile. More...
struct  TagNamespaceInfo
 Container for namespace specific info that can be read from a tagfile. More...
struct  TagPackageInfo
 Container for package specific info that can be read from a tagfile. More...
struct  TagFileInfo
 Container for file specific info that can be read from a tagfile. More...
struct  TagGroupInfo
 Container for group specific info that can be read from a tagfile. More...
struct  TagPageInfo
 Container for page specific info that can be read from a tagfile. More...
struct  TagDirInfo
 Container for directory specific info that can be read from a tagfile. More...
class  TagCompoundVariant
 Variant class that holds a unique pointer to one of the specific container types. More...
class  TagFileParser
 Tag file parser. More...
struct  ElementCallbacks
struct  CompoundFactory

Typedefs

using TagClassInfoPtr = std::unique_ptr<TagClassInfo>
using TagConceptInfoPtr = std::unique_ptr<TagConceptInfo>
using TagModuleInfoPtr = std::unique_ptr<TagModuleInfo>
using TagNamespaceInfoPtr = std::unique_ptr<TagNamespaceInfo>
using TagPackageInfoPtr = std::unique_ptr<TagPackageInfo>
using TagFileInfoPtr = std::unique_ptr<TagFileInfo>
using TagGroupInfoPtr = std::unique_ptr<TagGroupInfo>
using TagPageInfoPtr = std::unique_ptr<TagPageInfo>
using TagDirInfoPtr = std::unique_ptr<TagDirInfo>

Functions

ElementCallbacks::StartCallback startCb (void(TagFileParser::*fn)(const XMLHandlers::Attributes &))
ElementCallbacks::EndCallback endCb (void(TagFileParser::*fn)())

Variables

static const std::map< std::string, ElementCallbacksg_elementHandlers
static const std::map< std::string, CompoundFactoryg_compoundFactory

Typedef Documentation

◆ TagClassInfoPtr

using anonymous_namespace{tagreader.cpp}::TagClassInfoPtr = std::unique_ptr<TagClassInfo>

Definition at line 127 of file tagreader.cpp.

◆ TagConceptInfoPtr

using anonymous_namespace{tagreader.cpp}::TagConceptInfoPtr = std::unique_ptr<TagConceptInfo>

Definition at line 135 of file tagreader.cpp.

◆ TagDirInfoPtr

using anonymous_namespace{tagreader.cpp}::TagDirInfoPtr = std::unique_ptr<TagDirInfo>

Definition at line 210 of file tagreader.cpp.

◆ TagFileInfoPtr

using anonymous_namespace{tagreader.cpp}::TagFileInfoPtr = std::unique_ptr<TagFileInfo>

Definition at line 175 of file tagreader.cpp.

◆ TagGroupInfoPtr

using anonymous_namespace{tagreader.cpp}::TagGroupInfoPtr = std::unique_ptr<TagGroupInfo>

Definition at line 191 of file tagreader.cpp.

◆ TagModuleInfoPtr

using anonymous_namespace{tagreader.cpp}::TagModuleInfoPtr = std::unique_ptr<TagModuleInfo>

Definition at line 143 of file tagreader.cpp.

◆ TagNamespaceInfoPtr

using anonymous_namespace{tagreader.cpp}::TagNamespaceInfoPtr = std::unique_ptr<TagNamespaceInfo>

Definition at line 155 of file tagreader.cpp.

◆ TagPackageInfoPtr

using anonymous_namespace{tagreader.cpp}::TagPackageInfoPtr = std::unique_ptr<TagPackageInfo>

Definition at line 163 of file tagreader.cpp.

◆ TagPageInfoPtr

using anonymous_namespace{tagreader.cpp}::TagPageInfoPtr = std::unique_ptr<TagPageInfo>

Definition at line 200 of file tagreader.cpp.

Function Documentation

◆ endCb()

ElementCallbacks::EndCallback anonymous_namespace{tagreader.cpp}::endCb ( void(TagFileParser::* fn )())

Definition at line 1049 of file tagreader.cpp.

1050{
1051 return [fn](TagFileParser &parser) { (parser.*fn)(); };
1052}

◆ startCb()

ElementCallbacks::StartCallback anonymous_namespace{tagreader.cpp}::startCb ( void(TagFileParser::* fn )(const XMLHandlers::Attributes &))

Definition at line 1044 of file tagreader.cpp.

1045{
1046 return [fn](TagFileParser &parser,const XMLHandlers::Attributes &attr) { (parser.*fn)(attr); };
1047}
std::unordered_map< std::string, std::string > Attributes
Definition xml.h:29

Variable Documentation

◆ g_compoundFactory

const std::map< std::string, CompoundFactory > anonymous_namespace{tagreader.cpp}::g_compoundFactory
static
Initial value:
=
{
{ "file", { TagFileParser::InFile, []() { return TagCompoundVariant::make<TagFileInfo>(); } } },
{ "group", { TagFileParser::InGroup, []() { return TagCompoundVariant::make<TagGroupInfo>(); } } },
{ "page", { TagFileParser::InPage, []() { return TagCompoundVariant::make<TagPageInfo>(); } } },
}
static TagCompoundVariant make(Args &&... args)
Generic factory method to create a variant holding a unique pointer to a given compound type.

Definition at line 1095 of file tagreader.cpp.

1096{
1097 // kind tag state creation function
1108 { "file", { TagFileParser::InFile, []() { return TagCompoundVariant::make<TagFileInfo>(); } } },
1109 { "namespace", { TagFileParser::InNamespace, []() { return TagCompoundVariant::make<TagNamespaceInfo>(); } } },
1110 { "concept", { TagFileParser::InConcept, []() { return TagCompoundVariant::make<TagConceptInfo>(); } } },
1111 { "module", { TagFileParser::InModule, []() { return TagCompoundVariant::make<TagModuleInfo>(); } } },
1112 { "group", { TagFileParser::InGroup, []() { return TagCompoundVariant::make<TagGroupInfo>(); } } },
1113 { "page", { TagFileParser::InPage, []() { return TagCompoundVariant::make<TagPageInfo>(); } } },
1114 { "package", { TagFileParser::InPackage, []() { return TagCompoundVariant::make<TagPackageInfo>(); } } },
1115 { "dir", { TagFileParser::InDir, []() { return TagCompoundVariant::make<TagDirInfo>(); } } }
1116};

Referenced by anonymous_namespace{tagreader.cpp}::TagFileParser::startCompound().

◆ g_elementHandlers

const std::map< std::string, ElementCallbacks > anonymous_namespace{tagreader.cpp}::g_elementHandlers
static
Initial value:
=
{
}
void startIncludes(const XMLHandlers::Attributes &attrib)
void startDocAnchor(const XMLHandlers::Attributes &attrib)
void startStringValue(const XMLHandlers::Attributes &)
void startBase(const XMLHandlers::Attributes &attrib)
void startIgnoreElement(const XMLHandlers::Attributes &)
void startMember(const XMLHandlers::Attributes &attrib)
void startCompound(const XMLHandlers::Attributes &attrib)
void startEnumValue(const XMLHandlers::Attributes &attrib)
ElementCallbacks::EndCallback endCb(void(TagFileParser::*fn)())
ElementCallbacks::StartCallback startCb(void(TagFileParser::*fn)(const XMLHandlers::Attributes &))

Definition at line 1054 of file tagreader.cpp.

1055{
1056 // name, start element callback, end element callback
1083};

Referenced by anonymous_namespace{tagreader.cpp}::TagFileParser::endElement(), and anonymous_namespace{tagreader.cpp}::TagFileParser::startElement().