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

Header file for the various classes representing the types of values available in cQASM. More...

Go to the source code of this file.

Classes

class  cqasm::v1::types::Visitor< T >
 Base class for the visitor pattern for the tree. More...
 
class  cqasm::v1::types::Node
 Main class for all nodes. More...
 
class  cqasm::v1::types::TypeBase
 Base for all types, with a member indicating whether values of this type are assignable (references) or not (constants, expression results). More...
 
class  cqasm::v1::types::Axis
 Type of an axis (x, y, or z). More...
 
class  cqasm::v1::types::Bool
 Type of a boolean/bit. More...
 
class  cqasm::v1::types::Complex
 Type of a complex number (2x IEEE double). More...
 
class  cqasm::v1::types::ComplexMatrix
 Type of a complex matrix. More...
 
class  cqasm::v1::types::Int
 Type of an integer (signed 64-bit). More...
 
class  cqasm::v1::types::Json
 Type of a JSON string. More...
 
class  cqasm::v1::types::Qubit
 Type of one or more qubit references. More...
 
class  cqasm::v1::types::Real
 Type of a real number (IEEE double). More...
 
class  cqasm::v1::types::RealMatrix
 Type of a real matrix. More...
 
class  cqasm::v1::types::String
 Type of an arbitrary string. More...
 
class  cqasm::v1::types::VisitorBase
 Internal class for implementing the visitor pattern. More...
 
class  cqasm::v1::types::Visitor< T >
 Base class for the visitor pattern for the tree. More...
 
class  cqasm::v1::types::RecursiveVisitor
 Visitor base class defaulting to DFS pre-order traversal. More...
 
class  cqasm::v1::types::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::types
 Namespace for the classes representing the types available within cQASM.
 

Typedefs

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

Enumerations

enum  cqasm::v1::types::NodeType {
  cqasm::v1::types::NodeType::Axis, cqasm::v1::types::NodeType::Bool, cqasm::v1::types::NodeType::Complex, cqasm::v1::types::NodeType::ComplexMatrix,
  cqasm::v1::types::NodeType::Int, cqasm::v1::types::NodeType::Json, cqasm::v1::types::NodeType::Qubit, cqasm::v1::types::NodeType::Real,
  cqasm::v1::types::NodeType::RealMatrix, cqasm::v1::types::NodeType::String
}
 Enumeration of all node types. More...
 

Functions

std::ostream & cqasm::v1::types::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 the types of values available in cQASM.

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

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