WSF
WsfParseRecurrence Class Reference

#include <WsfParseRecurrence.hpp>

Inheritance diagram for WsfParseRecurrence:
Collaboration diagram for WsfParseRecurrence:

Public Types

enum  Count { cZERO_OR_ONE , cONE_TO_MANY , cZERO_TO_MANY }
Public Types inherited from WsfParseRule
enum  RuleType {
  cNAMED_RULE , cVALUE , cSTRUCT , cSEQUENCE ,
  cALTERNATE , cRECURRENCE , cRULE_REFERENCE , cREAL ,
  cINT , cSTRING , cLINE_STRING , cQUOTED_STRING ,
  cLITERAL , cDELIMITED , cTYPE_LOAD , cTYPE_COMMAND ,
  cPASSTHROUGH , cSCRIPT_BLOCK
}
enum  ReaderFlags {
  cCAN_RESOLVE = 1 , cCAN_UNDO = 2 , cIS_SINGLE_TOKEN = 4 , cIS_PASSTHROUGH = 8 ,
  cIS_VALUE_RULE = 0x10
}

Public Member Functions

 WsfParseRecurrence (WsfParseRuleMemory &aMem)
 ~WsfParseRecurrence () override
void Initialize (int aSequence) override
bool Read (WsfParser &aParser, WsfParseNode *&aNode) override
std::vector< WsfParseRule * > GetSequence () override
void GetCountRange (size_t &aMin, size_t &aMax) const
std::string GetRuleDescription () override
void SetRecurringRule (WsfParseRule *aRulePtr)
Public Member Functions inherited from WsfParseRule
 WsfParseRule (WsfParseRuleMemory &aMem, RuleType aType)
virtual ~WsfParseRule ()=default
 WsfParseRule (const WsfParseRule &)=default
void Swap (WsfParseRule &aRhs)
RuleType Type () const
 Returns an enumeration specifying the derived type of the reader.
virtual bool ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode)
virtual void Undo (WsfParser &aParser)
virtual void Resolve (WsfParser &aParser, WsfParseNode *aNodePtr)
virtual std::vector< WsfParseRule * > GetAlternates ()
virtual WsfParseRuleDictionaryGetNestedRules ()
virtual WsfParseNamedRuleGetContext () const
virtual WsfParseRuleGetPassthrough ()
virtual WsfParseValueTypeGetType ()
 If the rule is also a type, return the type.
WsfParseStructGetContainingStruct () const
WsfParseStructGetStruct ()
WsfParseNamedRuleGetEntryType ()
WsfParseNamedRuleGetInputType ()
WsfParseNamedRuleGetOutputType ()
WsfParseNamedRuleGetBestContext ()
WsfParseNamedRuleGetVarContext ()
bool IsNamedRule () const
int GetReaderFlags () const
WsfParseRuleGetSubordinateRule () const
void SetSubordinateRule (WsfParseRule *aRulePtr)

Public Attributes

Count mCount
std::string mEndKeyword
Public Attributes inherited from WsfParseRule
RuleType mRuleType
int mReaderFlags
int mUserId
WsfParseRulemParentRulePtr
 Pointer to the parent rule. This should be valid for unnamed rules.

Additional Inherited Members

Protected Attributes inherited from WsfParseRule
WsfParseRulemSubordinateRulePtr

Member Enumeration Documentation

◆ Count

Enumerator
cZERO_OR_ONE 
cONE_TO_MANY 
cZERO_TO_MANY 

Constructor & Destructor Documentation

◆ WsfParseRecurrence()

WsfParseRecurrence::WsfParseRecurrence ( WsfParseRuleMemory & aMem)
inline

◆ ~WsfParseRecurrence()

WsfParseRecurrence::~WsfParseRecurrence ( )
override

Member Function Documentation

◆ GetCountRange()

void WsfParseRecurrence::GetCountRange ( size_t & aMin,
size_t & aMax ) const
inline

◆ GetRuleDescription()

std::string WsfParseRecurrence::GetRuleDescription ( )
inlineoverridevirtual

◆ GetSequence()

std::vector< WsfParseRule * > WsfParseRecurrence::GetSequence ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References WsfParseRule::mSubordinateRulePtr.

◆ Initialize()

◆ Read()

bool WsfParseRecurrence::Read ( WsfParser & aParser,
WsfParseNode *& aNode )
overridevirtual

Override to parse and generate a parse node. Parse nodes should be generated even on error conditions if possible.

Parameters
aParserThe parser.
aNodeSet to the resulting parse node.
Returns
'true' if a parse node was generated.

Implements WsfParseRule.

References WsfParseNode::Add(), WsfParser::AddError(), WsfParseNode::cBLOCK_NODE, WsfParser::FreeNode(), GetCountRange(), WsfParseNode::InsertAfter(), WsfParseNode::MarkIncomplete(), mEndKeyword, WsfParseNode::mFlags, WsfParseRule::mSubordinateRulePtr, WsfParser::NewNode(), ok, WsfParser::PopTerminator(), WsfParser::PushTerminator(), WsfParser::ReadWord(), and WsfParser::UndoRead().

◆ SetRecurringRule()

void WsfParseRecurrence::SetRecurringRule ( WsfParseRule * aRulePtr)

Member Data Documentation

◆ mCount

◆ mEndKeyword


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved