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

#include <src/docparser_p.h>

Collaboration diagram for AutoNodeStack:

Public Member Functions

 AutoNodeStack (DocParser *parser, DocNodeVariant *node)
 ~AutoNodeStack ()

Private Attributes

DocParserm_parser
const DocNodeVariantm_node

Detailed Description

Definition at line 162 of file docparser_p.h.

Constructor & Destructor Documentation

◆ AutoNodeStack()

AutoNodeStack::AutoNodeStack ( DocParser * parser,
DocNodeVariant * node )
inline

Definition at line 165 of file docparser_p.h.

166 : m_parser(parser), m_node(node) { m_parser->context.nodeStack.push(node); }
DocParser * m_parser
const DocNodeVariant * m_node
DocParserContext context
DocNodeStack nodeStack
Definition docparser_p.h:66

References DocParser::context, m_node, m_parser, and DocParserContext::nodeStack.

◆ ~AutoNodeStack()

AutoNodeStack::~AutoNodeStack ( )
inline

Definition at line 167 of file docparser_p.h.

168 {
169#if defined(NDEBUG)
170 (void)m_node;
171 if (!m_parser->context.nodeStack.empty())
172 {
173 m_parser->context.nodeStack.pop(); // robust version that does not assert
174 }
175#else
176 assert(m_parser->context.nodeStack.top()==m_node);
177 m_parser->context.nodeStack.pop(); // error checking version
178#endif
179 }

References DocParser::context, m_node, m_parser, and DocParserContext::nodeStack.

Member Data Documentation

◆ m_node

const DocNodeVariant* AutoNodeStack::m_node
private

Definition at line 184 of file docparser_p.h.

Referenced by AutoNodeStack(), and ~AutoNodeStack().

◆ m_parser

DocParser* AutoNodeStack::m_parser
private

Definition at line 183 of file docparser_p.h.

Referenced by AutoNodeStack(), and ~AutoNodeStack().


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