Maestro 0.2.11
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
SimpleOps.h File Reference
#include "Expr.h"
Include dependency graph for SimpleOps.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  qasm::AddBarrierExpr
struct  qasm::AddCommentExpr
struct  qasm::AddCregExpr
struct  qasm::AddDeclarationExpr
struct  qasm::AddGateDeclExpr
struct  qasm::AddMeasureExpr
struct  qasm::AddOpaqueDeclExpr
struct  qasm::AddQregExpr
struct  qasm::AddResetExpr
class  qasm::IndexedId
struct  qasm::MakeIndexedIdExpression
struct  qasm::QoperationStatement
struct  qasm::MakeIndexedIdExpression::result< typename, typename >
struct  qasm::AddCregExpr::result
struct  qasm::AddQregExpr::result
struct  qasm::AddCommentExpr::result
struct  qasm::AddDeclarationExpr::result
struct  qasm::AddMeasureExpr::result
struct  qasm::AddResetExpr::result
struct  qasm::AddBarrierExpr::result
struct  qasm::AddOpaqueDeclExpr::result
struct  qasm::AddGateDeclExpr::result

Namespaces

namespace  qasm

Macros

#define _SIMPLEOPS_H_

Typedefs

using qasm::ArgumentType = std::variant<std::string, IndexedId>
using qasm::BarrierType = MixedListType
using qasm::CondOpType = boost::fusion::vector<std::string, int, QopType>
using qasm::CXGateCallType = boost::fusion::vector<ArgumentType, ArgumentType>
using qasm::ExpGatecallType
using qasm::GatecallType = std::variant<SimpleGatecallType, ExpGatecallType>
using qasm::GateDeclOpType = std::variant<UopType, SimpleBarrierType>
using qasm::GateDeclType
using qasm::MeasureType = boost::fusion::vector<ArgumentType, ArgumentType>
using qasm::MixedListType = std::vector<ArgumentType>
using qasm::OpaqueDeclType
using qasm::ProgramType
using qasm::QopType = StatementType
using qasm::ResetType = ArgumentType
using qasm::SimpleBarrierType = std::vector<std::string>
using qasm::SimpleExpType = std::variant<double, int, std::string>
using qasm::SimpleGatecallType = boost::fusion::vector<std::string, MixedListType>
using qasm::StatementType = QoperationStatement
using qasm::UGateCallType
using qasm::UopType = std::variant<UGateCallType, CXGateCallType, GatecallType>

Variables

phx::function< AddBarrierExprqasm::AddBarrier
phx::function< AddCommentExprqasm::AddComment
phx::function< AddCregExprqasm::AddCreg
phx::function< AddDeclarationExprqasm::AddDeclaration
phx::function< AddGateDeclExprqasm::AddGateDecl
phx::function< AddMeasureExprqasm::AddMeasure
phx::function< AddOpaqueDeclExprqasm::AddOpaqueDecl
phx::function< AddQregExprqasm::AddQreg
phx::function< AddResetExprqasm::AddReset
phx::function< MakeIndexedIdExpressionqasm::MakeIndexedId

Detailed Description

Version
1.0

DESCRIPTION

Classes for the qasm parser and interpreter, dealing with the simple declarations and operations.

It's supposed to support only open qasm 2.0.

Definition in file SimpleOps.h.


Class Documentation

◆ qasm::MakeIndexedIdExpression::result

struct qasm::MakeIndexedIdExpression::result
template<typename, typename>
struct qasm::MakeIndexedIdExpression::result< typename, typename >

Definition at line 44 of file SimpleOps.h.

Collaboration diagram for qasm::MakeIndexedIdExpression::result< typename, typename >:
Class Members
typedef IndexedId type

◆ qasm::AddCregExpr::result

struct qasm::AddCregExpr::result

Definition at line 127 of file SimpleOps.h.

Collaboration diagram for qasm::AddCregExpr::result:
Class Members
typedef IndexedId type

◆ qasm::AddQregExpr::result

struct qasm::AddQregExpr::result

Definition at line 150 of file SimpleOps.h.

Collaboration diagram for qasm::AddQregExpr::result:
Class Members
typedef IndexedId type

◆ qasm::AddCommentExpr::result

struct qasm::AddCommentExpr::result

Definition at line 172 of file SimpleOps.h.

Collaboration diagram for qasm::AddCommentExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddDeclarationExpr::result

struct qasm::AddDeclarationExpr::result

Definition at line 189 of file SimpleOps.h.

Collaboration diagram for qasm::AddDeclarationExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddMeasureExpr::result

struct qasm::AddMeasureExpr::result

Definition at line 205 of file SimpleOps.h.

Collaboration diagram for qasm::AddMeasureExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddResetExpr::result

struct qasm::AddResetExpr::result

Definition at line 265 of file SimpleOps.h.

Collaboration diagram for qasm::AddResetExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddBarrierExpr::result

struct qasm::AddBarrierExpr::result

Definition at line 301 of file SimpleOps.h.

Collaboration diagram for qasm::AddBarrierExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddOpaqueDeclExpr::result

struct qasm::AddOpaqueDeclExpr::result

Definition at line 342 of file SimpleOps.h.

Collaboration diagram for qasm::AddOpaqueDeclExpr::result:
Class Members
typedef QoperationStatement type

◆ qasm::AddGateDeclExpr::result

struct qasm::AddGateDeclExpr::result

Definition at line 374 of file SimpleOps.h.

Collaboration diagram for qasm::AddGateDeclExpr::result:
Class Members
typedef QoperationStatement type

Macro Definition Documentation

◆ _SIMPLEOPS_H_

#define _SIMPLEOPS_H_

Definition at line 16 of file SimpleOps.h.