class QPanda::OriginCExpr

Overview

Implementation class of CExpr. More…

#include <OriginClassicalExpression.h>

class OriginCExpr: public QPanda::CExpr
{
public:
    // unions

    union content_u;

    // fields

    NodeType m_node_type;
    qmap_size_t m_postion;

    // construction

    OriginCExpr(CBit* cbit);

    OriginCExpr(
        CExpr* leftExpr,
        CExpr* rightExpr,
        int
        );

    OriginCExpr(cbit_size_t);

    // methods

    virtual CExpr* getLeftExpr() const;
    virtual CExpr* getRightExpr() const;
    virtual std::string getName() const;
    virtual CBit* getCBit() const;
    virtual void setLeftExpr(CExpr* left_expr);
    virtual void setRightExpr(CExpr* right_expr);
    virtual cbit_size_t get_val() const;
    virtual CExpr* deepcopy() const;
    virtual bool checkValidity() const;
    virtual void getCBitsName(std::vector<std::string>&);
    NodeType getNodeType() const;
    qmap_size_t getPosition() const;
    void setPosition(qmap_size_t);
    virtual int getContentSpecifier() const;
};

Inherited Members

public:
    // methods

    virtual CExpr* getLeftExpr() const = 0;
    virtual CExpr* getRightExpr() const = 0;
    virtual void setLeftExpr(CExpr* left_expr) = 0;
    virtual void setRightExpr(CExpr* right_expr) = 0;
    virtual std::string getName() const = 0;
    virtual CBit* getCBit() const = 0;
    virtual bool checkValidity() const = 0;
    virtual cbit_size_t get_val() const = 0;
    virtual int getContentSpecifier() const = 0;
    virtual CExpr* deepcopy() const = 0;
    virtual void getCBitsName(std::vector<std::string>&) = 0;

Detailed Documentation

Implementation class of CExpr.

Fields

NodeType m_node_type

quantum node type

Methods

virtual CExpr* getLeftExpr() const

Get the Left Expr pointer.

Returns:

CExpr*

virtual CExpr* getRightExpr() const

Get the Right Expr pointer.

Returns:

CExpr*

virtual std::string getName() const

Get the Name object.

Returns:

std::string

virtual CBit* getCBit() const

get classical bit pointer

Returns:

CBit*

virtual void setLeftExpr(CExpr* left_expr)

Set the Left Expr pointer.

Parameters:

CExpr*

left expr

virtual void setRightExpr(CExpr* right_expr)

Set the Right Expr pointer.

Parameters:

CExpr*

right expr

virtual cbit_size_t get_val() const

get value

Returns:

cbit_size_t

virtual CExpr* deepcopy() const

deep copy this cexpr

Returns:

CExpr*

virtual bool checkValidity() const

check validity

Returns:

true check validity ture

false check validity false

virtual void getCBitsName(std::vector<std::string>&)

get all cbits name

Parameters:

std::vector<std::string>

cibts name vector

NodeType getNodeType() const

get quantum node type

Returns:

NodeType

virtual int getContentSpecifier() const

get content specifier

Returns:

NodeType