Maestro 0.2.5
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::AddGateDeclExpr::result
 
struct  qasm::AddOpaqueDeclExpr::result
 
struct  qasm::AddBarrierExpr::result
 
struct  qasm::AddResetExpr::result
 
struct  qasm::AddMeasureExpr::result
 
struct  qasm::AddDeclarationExpr::result
 
struct  qasm::AddCommentExpr::result
 
struct  qasm::AddQregExpr::result
 
struct  qasm::AddCregExpr::result
 
struct  qasm::MakeIndexedIdExpression::result< typename, typename >
 

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 = boost::fusion::vector< std::string, std::vector< Expression >, MixedListType >
 
using qasm::GatecallType = std::variant< SimpleGatecallType, ExpGatecallType >
 
using qasm::GateDeclOpType = std::variant< UopType, SimpleBarrierType >
 
using qasm::GateDeclType = boost::fusion::vector< std::string, std::vector< std::string >, std::vector< std::string > >
 
using qasm::MeasureType = boost::fusion::vector< ArgumentType, ArgumentType >
 
using qasm::MixedListType = std::vector< ArgumentType >
 
using qasm::OpaqueDeclType = boost::fusion::vector< std::string, std::vector< std::string >, std::vector< std::string > >
 
using qasm::ProgramType = boost::fusion::vector< std::vector< std::string >, double, std::vector< std::string >, std::vector< StatementType > >
 
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 = boost::fusion::vector< std::vector< Expression >, ArgumentType >
 
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::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

◆ 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::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::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::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::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::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::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::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::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

Macro Definition Documentation

◆ _SIMPLEOPS_H_

#define _SIMPLEOPS_H_

Definition at line 16 of file SimpleOps.h.