class QPanda::AbstractControlFlowNode

Overview

Superclass for QIfProg/QWhileProg. More…

#include <ControlFlow.h>

class AbstractControlFlowNode
{
public:
    // methods

    virtual std::shared_ptr<QNode> getTrueBranch() const = 0;
    virtual std::shared_ptr<QNode> getFalseBranch() const = 0;
    virtual void setTrueBranch(QProg node) = 0;
    virtual void setFalseBranch(QProg node) = 0;
    virtual ClassicalCondition getCExpr() = 0;
};

// direct descendants

class OriginQIf;
class OriginQWhile;
class QIfProg;
class QWhileProg;

Detailed Documentation

Superclass for QIfProg/QWhileProg.

Methods

virtual std::shared_ptr<QNode> getTrueBranch() const = 0

Get true branch.

Returns:

std::shared_ptr<QNode>

virtual std::shared_ptr<QNode> getFalseBranch() const = 0

Get false branch.

Returns:

std::shared_ptr<QNode>

virtual void setTrueBranch(QProg node) = 0

Set the True branch.

Parameters:

Node

True branch node

virtual void setFalseBranch(QProg node) = 0

Set the False Branch object.

Parameters:

Node

False branch node

virtual ClassicalCondition getCExpr() = 0

Get classical expr.

Returns:

ClassicalCondition ptr