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

Classes

struct  CompoundFactory
 
struct  ElementCallbacks
 
class  TagAnchorInfo
 Information about an linkable anchor. More...
 
struct  TagClassInfo
 Container for class specific info that can be read from a tagfile. More...
 
struct  TagCompoundInfo
 Base class for all compound types. More...
 
class  TagCompoundVariant
 Variant class that holds a unique pointer to one of the specific container types. More...
 
struct  TagConceptInfo
 Container for concept 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  TagEnumValueInfo
 Container for enum values that are scoped within an enum. More...
 
struct  TagFileInfo
 Container for file specific info that can be read from a tagfile. More...
 
class  TagFileParser
 Tag file parser. More...
 
struct  TagGroupInfo
 Container for group specific info that can be read from a tagfile. 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  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  TagPageInfo
 Container for page specific info that can be read from a tagfile. More...
 

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

1048{
1049 return [fn](TagFileParser &parser) { (parser.*fn)(); };
1050}

◆ startCb()

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

Definition at line 1042 of file tagreader.cpp.

1043{
1044 return [fn](TagFileParser &parser,const XMLHandlers::Attributes &attr) { (parser.*fn)(attr); };
1045}
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 1093 of file tagreader.cpp.

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

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

1053{
1054 // name, start element callback, end element callback
1081};

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