Maestro 0.2.5
Unified interface for quantum circuit simulation
Loading...
Searching...
No Matches
Expr.h File Reference
#include <math.h>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/fusion/include/io.hpp>
#include <boost/phoenix.hpp>
#include <boost/phoenix/object.hpp>
#include <boost/spirit/include/qi.hpp>
#include <algorithm>
#include <optional>
#include <string>
#include <variant>
#include <vector>
+ Include dependency graph for Expr.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  qasm::AbstractSyntaxTree
 
class  qasm::BinaryOperator
 
class  qasm::Constant
 
class  qasm::Expression
 
class  qasm::Function
 
struct  qasm::MakeBinaryExpression
 
struct  qasm::MakeConstantExpression
 
struct  qasm::MakeFunctionExpression
 
struct  qasm::MakeUnaryExpression
 
struct  qasm::MakeVariableExpression
 
struct  qasm::MakeVariableExpression::result< typename >
 
struct  qasm::MakeConstantExpression::result< typename >
 
struct  qasm::MakeBinaryExpression::result< typename, typename, typename >
 
struct  qasm::MakeUnaryExpression::result< typename, typename >
 
struct  qasm::MakeFunctionExpression::result< typename, typename, typename >
 
class  qasm::UnaryOperator
 
class  qasm::Variable
 

Namespaces

namespace  qasm
 

Macros

#define _EXPR_H_
 
#define _USE_MATH_DEFINES
 

Typedefs

typedef std::shared_ptr< AbstractSyntaxTreeqasm::AbstractSyntaxTreePtr
 

Functions

template<typename Expr >
static AbstractSyntaxTreePtr qasm::Clone (Expr const &t)
 

Variables

phx::function< MakeBinaryExpressionqasm::MakeBinary
 
phx::function< MakeConstantExpressionqasm::MakeConstant
 
phx::function< MakeFunctionExpressionqasm::MakeFunction
 
phx::function< MakeUnaryExpressionqasm::MakeUnary
 
phx::function< MakeVariableExpressionqasm::MakeVariable
 

Detailed Description

Version
1.0

DESCRIPTION

Classes for the qasm parser and interpreter, expressions part.

It's supposed to support only open qasm 2.0.

Definition in file Expr.h.


Class Documentation

◆ qasm::MakeVariableExpression::result

struct qasm::MakeVariableExpression::result
template<typename>
struct qasm::MakeVariableExpression::result< typename >

Definition at line 133 of file Expr.h.

+ Collaboration diagram for qasm::MakeVariableExpression::result< typename >:
Class Members
typedef Variable type

◆ qasm::MakeConstantExpression::result

struct qasm::MakeConstantExpression::result
template<typename>
struct qasm::MakeConstantExpression::result< typename >

Definition at line 94 of file Expr.h.

+ Collaboration diagram for qasm::MakeConstantExpression::result< typename >:
Class Members
typedef Constant type

◆ qasm::MakeBinaryExpression::result

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

Definition at line 197 of file Expr.h.

+ Collaboration diagram for qasm::MakeBinaryExpression::result< typename, typename, typename >:
Class Members
typedef BinaryOperator type

◆ qasm::MakeUnaryExpression::result

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

Definition at line 249 of file Expr.h.

+ Collaboration diagram for qasm::MakeUnaryExpression::result< typename, typename >:
Class Members
typedef UnaryOperator type

◆ qasm::MakeFunctionExpression::result

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

Definition at line 313 of file Expr.h.

+ Collaboration diagram for qasm::MakeFunctionExpression::result< typename, typename, typename >:
Class Members
typedef Function type

Macro Definition Documentation

◆ _EXPR_H_

#define _EXPR_H_

Definition at line 15 of file Expr.h.

◆ _USE_MATH_DEFINES

#define _USE_MATH_DEFINES

Definition at line 21 of file Expr.h.