MIRA
Public Member Functions | List of all members
IMacro Class Referenceabstract

Interface for implementing macro definitions. More...

#include <xml/macros/IMacro.h>

Inheritance diagram for IMacro:
Inheritance graph
[legend]

Public Member Functions

template<typename Reflector >
void reflect (Reflector &r)
 
virtual XMLNode expand (XMLMacroProcessor &, XMLNode ioNode)=0
 Expands the macro. More...
 
virtual bool canCoerceToString () const
 
virtual void coerceToString (XMLMacroProcessor &, std::ostream &)
 
virtual std::optional< SourceInfogetSource () const
 
virtual ~IMacro ()=default
 

Detailed Description

Interface for implementing macro definitions.

Constructor & Destructor Documentation

◆ ~IMacro()

virtual ~IMacro ( )
virtualdefault

Member Function Documentation

◆ reflect()

void reflect ( Reflector &  r)
inline

◆ expand()

virtual XMLNode expand ( XMLMacroProcessor ,
XMLNode  ioNode 
)
pure virtual

Expands the macro.

Parameters
ioNodeNode to expand in-place.
Returns
an iterator to the next node to process.

Implemented in PrintXMLMacro, NothingMacro, ZipMacro, XMLValueMacro, UserDefinedMacro, SplitMacro, ForMacro, ImportInlineMacro, and DefineMacro.

◆ canCoerceToString()

virtual bool canCoerceToString ( ) const
inlinevirtual
Returns
true of toString is implemented.

Reimplemented in NothingMacro, XMLValueMacro, and UserDefinedMacro.

◆ coerceToString()

virtual void coerceToString ( XMLMacroProcessor ,
std::ostream &   
)
inlinevirtual

Reimplemented in NothingMacro, XMLValueMacro, and UserDefinedMacro.

◆ getSource()

virtual std::optional<SourceInfo> getSource ( ) const
inlinevirtual

Reimplemented in UserDefinedMacro.


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