MD::details::AlgoVisitor::IncrementNestingLevel Struct

struct MD::details::AlgoVisitor::IncrementNestingLevel

Auxiliary structure for MD::details::AlgoVisitor. More...

Public Functions

IncrementNestingLevel(unsigned int &l, unsigned int m, const typename Trait::template Vector<ItemType> &t)
bool allowed(MD::ItemType t) const
bool nextAllowed() const

Public Variables

unsigned int &m_level
unsigned int m_maxNestingLevel
const typename Trait::template Vector<ItemType> &m_types

Detailed Description

Auxiliary structure to increment/decrement nesting level during walking through the document, and checking circumstances for the algorithm.

Member Function Documentation

IncrementNestingLevel::IncrementNestingLevel(unsigned int &l, unsigned int m, const typename Trait::template Vector<ItemType> &t)

Constructor.

l Level.

m Max nesting level.

t List of types.

bool IncrementNestingLevel::allowed(MD::ItemType t) const

Returns whether this item type allowed at this nesting level.

t Item's type to check.

bool IncrementNestingLevel::nextAllowed() const

Returns whether next nesting level allowed.

Member Variable Documentation

unsigned int &IncrementNestingLevel::m_level

Reference to nesting level.

unsigned int IncrementNestingLevel::m_maxNestingLevel

Maximum allowed nesting level.

const typename Trait::template Vector<ItemType> &IncrementNestingLevel::m_types

Reference to list of allowed types.