libqasm
library for handling cQASM files
Classes | Namespaces | Typedefs | Enumerations | Functions
cqasm-v1-values-gen.hpp File Reference

Header file for the various classes representing constants, references, and dynamic expressions in cQASM. More...

Go to the source code of this file.

Classes

class  cqasm::v1::values::Visitor< T >
 Base class for the visitor pattern for the tree. More...
 
class  cqasm::v1::values::Node
 Main class for all nodes. More...
 
class  cqasm::v1::values::Reference
 Represents a reference to some storage location. More...
 
class  cqasm::v1::values::BitRefs
 Represents a measurement bit, or a number of measurement bits for conditional gates with multiple conditions. More...
 
class  cqasm::v1::values::Constant
 Represents a constant value. More...
 
class  cqasm::v1::values::ConstAxis
 Represents an axis value (x, y, or z). More...
 
class  cqasm::v1::values::ConstBool
 Represents a value of type bool. More...
 
class  cqasm::v1::values::ConstComplex
 Represents a value of type complex. More...
 
class  cqasm::v1::values::ConstComplexMatrix
 Represents a value of type complex_matrix. More...
 
class  cqasm::v1::values::ConstInt
 Represents a value of type int. More...
 
class  cqasm::v1::values::ConstJson
 Represents a value of type json. More...
 
class  cqasm::v1::values::ConstReal
 Represents a value of type real. More...
 
class  cqasm::v1::values::ConstRealMatrix
 Represents a value of type real_matrix. More...
 
class  cqasm::v1::values::ConstString
 Represents a value of type string. More...
 
class  cqasm::v1::values::Function
 This can be returned by user-defined functions as a placeholder value for something that needs to be evaluated at runtime rather than during constant propagation. More...
 
class  cqasm::v1::values::QubitRefs
 Represents a qubit, or a set of qubits for single-gate-multiple-qubit notation. More...
 
class  cqasm::v1::values::VariableRef
 Represents a variable reference. More...
 
class  cqasm::v1::values::VisitorBase
 Internal class for implementing the visitor pattern. More...
 
class  cqasm::v1::values::Visitor< T >
 Base class for the visitor pattern for the tree. More...
 
class  cqasm::v1::values::RecursiveVisitor
 Visitor base class defaulting to DFS pre-order traversal. More...
 
class  cqasm::v1::values::Dumper
 Visitor class that debug-dumps a tree to a stream. More...
 

Namespaces

 cqasm
 Toplevel namespace with entry points for the new API.
 
 cqasm::v1
 Namespace for the "new" cQASM 1.x API.
 
 cqasm::v1::values
 Namespace for the classes representing the values (including dynamically evaluated expressions or references to registers) available within cQASM.
 

Typedefs

using cqasm::v1::values::Base = cqasm::tree::Base
 
template<class T >
using cqasm::v1::values::Maybe = cqasm::tree::Maybe< T >
 
template<class T >
using cqasm::v1::values::One = cqasm::tree::One< T >
 
template<class T >
using cqasm::v1::values::Any = cqasm::tree::Any< T >
 
template<class T >
using cqasm::v1::values::Many = cqasm::tree::Many< T >
 
template<class T >
using cqasm::v1::values::OptLink = cqasm::tree::OptLink< T >
 
template<class T >
using cqasm::v1::values::Link = cqasm::tree::Link< T >
 

Enumerations

enum  cqasm::v1::values::NodeType {
  cqasm::v1::values::NodeType::BitRefs, cqasm::v1::values::NodeType::ConstAxis, cqasm::v1::values::NodeType::ConstBool, cqasm::v1::values::NodeType::ConstComplex,
  cqasm::v1::values::NodeType::ConstComplexMatrix, cqasm::v1::values::NodeType::ConstInt, cqasm::v1::values::NodeType::ConstJson, cqasm::v1::values::NodeType::ConstReal,
  cqasm::v1::values::NodeType::ConstRealMatrix, cqasm::v1::values::NodeType::ConstString, cqasm::v1::values::NodeType::Function, cqasm::v1::values::NodeType::QubitRefs,
  cqasm::v1::values::NodeType::VariableRef
}
 Enumeration of all node types. More...
 

Functions

std::ostream & cqasm::v1::values::operator<< (std::ostream &os, const Node &object)
 Stream << overload for tree nodes (writes debug dump). More...
 

Detailed Description

Header file for the various classes representing constants, references, and dynamic expressions in cQASM.

Definition in file cqasm-v1-values-gen.hpp.

#include <iostream>
#include "cqasm-tree.hpp"
#include "cqasm-v1-primitives.hpp"
#include "cqasm-v1-types.hpp"
Include dependency graph for cqasm-v1-values-gen.hpp:
This graph shows which files directly or indirectly include this file: