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

Defines classes representing the values (collective name for constants, references, and dynamically evaluated expressions) available within cQASM's type system, as well as some utility functions. More...

Go to the source code of this file.

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::Value = tree::One< Node >
 A cQASM value, either known at compile-time or an expression for something only known at runtime. More...
 
using cqasm::v1::values::Values = tree::Any< Node >
 Zero or more cQASM values. More...
 

Functions

Value cqasm::v1::values::promote (const Value &value, const types::Type &type)
 Type-checks and (if necessary) promotes the given value to the given type. More...
 
types::Type cqasm::v1::values::type_of (const Value &value)
 Returns the type of the given value. More...
 
types::Types cqasm::v1::values::types_of (const Values &values)
 Returns the types of the given values. More...
 
void cqasm::v1::values::check_const (const Value &value)
 Throws an AnalysisError if the given value is not a constant, i.e. More...
 
void cqasm::v1::values::check_const (const Values &values)
 Throws an AnalysisError if any of the given values are not a constant, i.e. More...
 
std::ostream & cqasm::v1::values::operator<< (std::ostream &os, const Value &value)
 Stream << overload for a single value. More...
 
std::ostream & cqasm::v1::values::operator<< (std::ostream &os, const Values &values)
 Stream << overload for zero or more values. More...
 

Detailed Description

Defines classes representing the values (collective name for constants, references, and dynamically evaluated expressions) available within cQASM's type system, as well as some utility functions.

Definition in file cqasm-v1-values.hpp.

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