Antares Simulator
Power System Simulator
Antares::Expressions::Visitors::CloneVisitor Class Reference

Represents a visitor for cloning nodes in a syntax tree. More...

#include <CloneVisitor.h>

Inheritance diagram for Antares::Expressions::Visitors::CloneVisitor:
Antares::Expressions::Visitors::NodeVisitor< Nodes::Node * > Antares::Expressions::IName

Public Member Functions

 CloneVisitor (Registry< Nodes::Node > &registry)
 Constructs a clone visitor with the specified registry for creating new nodes. More...
 
std::vector< Nodes::Node * > cloneOperands (const Nodes::ParentNode *node)
 
std::string name () const override
 
Nodes::Nodevisit (const Nodes::SumNode *node) override
 
Nodes::Nodevisit (const Nodes::SubtractionNode *node) override
 
Nodes::Nodevisit (const Nodes::MultiplicationNode *node) override
 
Nodes::Nodevisit (const Nodes::DivisionNode *node) override
 
Nodes::Nodevisit (const Nodes::EqualNode *node) override
 
Nodes::Nodevisit (const Nodes::LessThanOrEqualNode *node) override
 
Nodes::Nodevisit (const Nodes::GreaterThanOrEqualNode *node) override
 
Nodes::Nodevisit (const Nodes::NegationNode *node) override
 
Nodes::Nodevisit (const Nodes::VariableNode *node) override
 
Nodes::Nodevisit (const Nodes::ParameterNode *node) override
 
Nodes::Nodevisit (const Nodes::LiteralNode *node) override
 
Nodes::Nodevisit (const Nodes::PortFieldNode *node) override
 
Nodes::Nodevisit (const Nodes::PortFieldSumNode *node) override
 
Nodes::Nodevisit (const Nodes::TimeShiftNode *node) override
 
Nodes::Nodevisit (const Nodes::TimeIndexNode *node) override
 
Nodes::Nodevisit (const Nodes::TimeSumNode *node) override
 
Nodes::Nodevisit (const Nodes::AllTimeSumNode *node) override
 
Nodes::Nodevisit (const Nodes::FunctionNode *node) override
 
- Public Member Functions inherited from Antares::Expressions::Visitors::NodeVisitor< Nodes::Node * >
Nodes::Nodedispatch (const Nodes::Node *node, Args... args)
 
virtual Nodes::Nodevisit (const Nodes::SumNode *, Args... args)=0
 Visits a SumNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::SubtractionNode *, Args... args)=0
 Visits a SubtractionNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::MultiplicationNode *, Args... args)=0
 Visits a MultiplicationNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::DivisionNode *, Args... args)=0
 Visits a DivisionNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::EqualNode *, Args... args)=0
 Visits an EqualNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::LessThanOrEqualNode *, Args... args)=0
 Visits a LessThanOrEqualNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::GreaterThanOrEqualNode *, Args... args)=0
 Visits a GreaterThanOrEqualNode and processes its children. More...
 
virtual Nodes::Nodevisit (const Nodes::NegationNode *, Args... args)=0
 Visits a NegationNode and processes its child. More...
 
virtual Nodes::Nodevisit (const Nodes::LiteralNode *, Args... args)=0
 Visits a LiteralNode. More...
 
virtual Nodes::Nodevisit (const Nodes::VariableNode *, Args... args)=0
 Visits a VariableNode. More...
 
virtual Nodes::Nodevisit (const Nodes::ParameterNode *, Args... args)=0
 Visits a ParameterNode. More...
 
virtual Nodes::Nodevisit (const Nodes::PortFieldNode *, Args... args)=0
 Visits a PortFieldNode. More...
 
virtual Nodes::Nodevisit (const Nodes::PortFieldSumNode *, Args... args)=0
 Visits a PortFieldSumNode. More...
 
virtual Nodes::Nodevisit (const Nodes::TimeShiftNode *, Args... args)=0
 Visits a TimeShiftNode. More...
 
virtual Nodes::Nodevisit (const Nodes::TimeIndexNode *, Args... args)=0
 Visits a TimeIndexNode. More...
 
virtual Nodes::Nodevisit (const Nodes::TimeSumNode *, Args... args)=0
 Visits a TimeSumNode. More...
 
virtual Nodes::Nodevisit (const Nodes::AllTimeSumNode *, Args... args)=0
 Visits a AllTimeSumNode. More...
 
virtual Nodes::Nodevisit (const Nodes::FunctionNode *, Args... args)=0
 Visits a FunctionNode. More...
 
- Public Member Functions inherited from Antares::Expressions::IName
bool operator== (const IName &other) const =default
 

Detailed Description

Represents a visitor for cloning nodes in a syntax tree.

Constructor & Destructor Documentation

◆ CloneVisitor()

Antares::Expressions::Visitors::CloneVisitor::CloneVisitor ( Registry< Nodes::Node > &  registry)
explicit

Constructs a clone visitor with the specified registry for creating new nodes.

Parameters
registryThe registry used for creating new nodes.

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