class QPanda::QIfProg

Overview

Proxy class of quantum if program. More…

#include <ControlFlow.h>

class QIfProg: public QPanda::AbstractControlFlowNode
{
public:
    // construction

    QIfProg(const QIfProg& old);
    QIfProg(std::shared_ptr<AbstractControlFlowNode> qif);
    QIfProg(ClassicalCondition classical_condition, QProg true_node, QProg false_node);
    QIfProg(ClassicalCondition classical_condition, QProg node);

    // methods

    virtual NodeType getNodeType() const;
    virtual std::shared_ptr<QNode> getTrueBranch() const;
    virtual std::shared_ptr<QNode> getFalseBranch() const;
    std::shared_ptr<AbstractControlFlowNode> getImplementationPtr();
    virtual ClassicalCondition getCExpr();
    virtual ClassicalCondition getClassicalCondition();
};

Inherited Members

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;

Detailed Documentation

Proxy class of quantum if program.

Construction

QIfProg(const QIfProg& old)

Construct a new QIfProg object.

Parameters:

old

Target QIfProg

QIfProg(ClassicalCondition classical_condition, QProg true_node, QProg false_node)

Construct a new QIfProg.

Parameters:

classical_condition

this QIfProg classical condition

true_node

true branch node

false_node

false branch node

QIfProg(ClassicalCondition classical_condition, QProg node)

Construct a new QIfProg object.

Parameters:

classical_condition

this QIfProg classical condition

node

true branch node

Methods

virtual NodeType getNodeType() const

Get the current node type.

Returns:

NodeType

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

Get the True Branch.

Returns:

std::shared_ptr<QNode>

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

Get the False Branch.

Returns:

std::shared_ptr<QNode>

virtual ClassicalCondition getCExpr()

Get classical expr.

Returns:

ClassicalCondition ptr

virtual ClassicalCondition getClassicalCondition()

get a classical condition

Returns:

ClassicalCondition