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...
struct  TagRequirementInfo
 Container for requirement 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>
using TagRequirementInfoPtr = std::unique_ptr<TagRequirementInfo>

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 128 of file tagreader.cpp.

◆ TagConceptInfoPtr

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

Definition at line 136 of file tagreader.cpp.

◆ TagDirInfoPtr

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

Definition at line 211 of file tagreader.cpp.

◆ TagFileInfoPtr

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

Definition at line 176 of file tagreader.cpp.

◆ TagGroupInfoPtr

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

Definition at line 192 of file tagreader.cpp.

◆ TagModuleInfoPtr

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

Definition at line 144 of file tagreader.cpp.

◆ TagNamespaceInfoPtr

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

Definition at line 156 of file tagreader.cpp.

◆ TagPackageInfoPtr

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

Definition at line 164 of file tagreader.cpp.

◆ TagPageInfoPtr

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

Definition at line 201 of file tagreader.cpp.

◆ TagRequirementInfoPtr

using anonymous_namespace{tagreader.cpp}::TagRequirementInfoPtr = std::unique_ptr<TagRequirementInfo>

Definition at line 221 of file tagreader.cpp.

Function Documentation

◆ endCb()

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

Definition at line 1086 of file tagreader.cpp.

1087{
1088 return [fn](TagFileParser &parser) { (parser.*fn)(); };
1089}

◆ startCb()

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

Definition at line 1081 of file tagreader.cpp.

1082{
1083 return [fn](TagFileParser &parser,const XMLHandlers::Attributes &attr) { (parser.*fn)(attr); };
1084}
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>(); } } },
{ "dir", { TagFileParser::InDir, []() { return TagCompoundVariant::make<TagDirInfo>(); } } },
}
static TagCompoundVariant make(Args &&... args)
Generic factory method to create a variant holding a unique pointer to a given compound type.

Definition at line 1133 of file tagreader.cpp.

1133 {
1134 // kind tag state creation function
1145 { "file", { TagFileParser::InFile, []() { return TagCompoundVariant::make<TagFileInfo>(); } } },
1146 { "namespace", { TagFileParser::InNamespace, []() { return TagCompoundVariant::make<TagNamespaceInfo>(); } } },
1147 { "concept", { TagFileParser::InConcept, []() { return TagCompoundVariant::make<TagConceptInfo>(); } } },
1148 { "module", { TagFileParser::InModule, []() { return TagCompoundVariant::make<TagModuleInfo>(); } } },
1149 { "group", { TagFileParser::InGroup, []() { return TagCompoundVariant::make<TagGroupInfo>(); } } },
1150 { "page", { TagFileParser::InPage, []() { return TagCompoundVariant::make<TagPageInfo>(); } } },
1151 { "package", { TagFileParser::InPackage, []() { return TagCompoundVariant::make<TagPackageInfo>(); } } },
1152 { "dir", { TagFileParser::InDir, []() { return TagCompoundVariant::make<TagDirInfo>(); } } },
1153 { "requirement", { TagFileParser::InRequirement, []() { return TagCompoundVariant::make<TagRequirementInfo>(); } } }
1154};

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

◆ g_elementHandlers

const std::map< std::string, ElementCallbacks > anonymous_namespace{tagreader.cpp}::g_elementHandlers
static

Definition at line 1091 of file tagreader.cpp.

1091 {
1092 // name, start element callback, end element callback
1120};
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 &))

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