Maestro 0.1.0
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
SimpleOps.h File Reference
#include "Expr.h"

Go to the source code of this file.

Classes

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

Namespaces

namespace  qasm

Macros

#define _SIMPLEOPS_H_

Typedefs

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

Variables

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

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.

Macro Definition Documentation

◆ _SIMPLEOPS_H_

#define _SIMPLEOPS_H_

Definition at line 15 of file SimpleOps.h.