|
libqasm
library for handling cQASM files
|
Main class for all nodes. More...
Public Member Functions | |
| virtual NodeType | type () const =0 |
Returns the NodeType of this node. More... | |
| virtual One< Node > | copy () const =0 |
| Returns a shallow copy of this node. More... | |
| virtual One< Node > | clone () const =0 |
| Returns a deep copy of this node. More... | |
| virtual bool | equals (const Node &rhs) const =0 |
| Value-based equality operator. More... | |
| virtual bool | operator== (const Node &rhs) const =0 |
| Pointer-based equality operator. More... | |
| bool | operator!= (const Node &rhs) const |
| Pointer-based inequality operator. More... | |
| template<typename T > | |
| T | visit (Visitor< T > &visitor) |
| Visit this object. More... | |
| void | dump (std::ostream &out=std::cout, int indent=0) |
| Writes a debug dump of this node to the given stream. More... | |
| void | dump_seq (std::ostream &out=std::cout, int indent=0) |
| Alternate debug dump that represents links and node uniqueness via sequence number tags. More... | |
| virtual BitRefs * | as_bit_refs () |
| Interprets this node to a node of type BitRefs. More... | |
| virtual const BitRefs * | as_bit_refs () const |
| Interprets this node to a node of type BitRefs. More... | |
| virtual ConstAxis * | as_const_axis () |
| Interprets this node to a node of type ConstAxis. More... | |
| virtual const ConstAxis * | as_const_axis () const |
| Interprets this node to a node of type ConstAxis. More... | |
| virtual ConstBool * | as_const_bool () |
| Interprets this node to a node of type ConstBool. More... | |
| virtual const ConstBool * | as_const_bool () const |
| Interprets this node to a node of type ConstBool. More... | |
| virtual ConstComplex * | as_const_complex () |
| Interprets this node to a node of type ConstComplex. More... | |
| virtual const ConstComplex * | as_const_complex () const |
| Interprets this node to a node of type ConstComplex. More... | |
| virtual ConstComplexMatrix * | as_const_complex_matrix () |
| Interprets this node to a node of type ConstComplexMatrix. More... | |
| virtual const ConstComplexMatrix * | as_const_complex_matrix () const |
| Interprets this node to a node of type ConstComplexMatrix. More... | |
| virtual ConstInt * | as_const_int () |
| Interprets this node to a node of type ConstInt. More... | |
| virtual const ConstInt * | as_const_int () const |
| Interprets this node to a node of type ConstInt. More... | |
| virtual ConstJson * | as_const_json () |
| Interprets this node to a node of type ConstJson. More... | |
| virtual const ConstJson * | as_const_json () const |
| Interprets this node to a node of type ConstJson. More... | |
| virtual ConstReal * | as_const_real () |
| Interprets this node to a node of type ConstReal. More... | |
| virtual const ConstReal * | as_const_real () const |
| Interprets this node to a node of type ConstReal. More... | |
| virtual ConstRealMatrix * | as_const_real_matrix () |
| Interprets this node to a node of type ConstRealMatrix. More... | |
| virtual const ConstRealMatrix * | as_const_real_matrix () const |
| Interprets this node to a node of type ConstRealMatrix. More... | |
| virtual ConstString * | as_const_string () |
| Interprets this node to a node of type ConstString. More... | |
| virtual const ConstString * | as_const_string () const |
| Interprets this node to a node of type ConstString. More... | |
| virtual Constant * | as_constant () |
| Interprets this node to a node of type Constant. More... | |
| virtual const Constant * | as_constant () const |
| Interprets this node to a node of type Constant. More... | |
| virtual Function * | as_function () |
| Interprets this node to a node of type Function. More... | |
| virtual const Function * | as_function () const |
| Interprets this node to a node of type Function. More... | |
| virtual QubitRefs * | as_qubit_refs () |
| Interprets this node to a node of type QubitRefs. More... | |
| virtual const QubitRefs * | as_qubit_refs () const |
| Interprets this node to a node of type QubitRefs. More... | |
| virtual Reference * | as_reference () |
| Interprets this node to a node of type Reference. More... | |
| virtual const Reference * | as_reference () const |
| Interprets this node to a node of type Reference. More... | |
| virtual VariableRef * | as_variable_ref () |
| Interprets this node to a node of type VariableRef. More... | |
| virtual const VariableRef * | as_variable_ref () const |
| Interprets this node to a node of type VariableRef. More... | |
| virtual void | serialize (::tree::cbor::MapWriter &map, const ::tree::base::PointerMap &ids) const =0 |
| Serializes this node to the given map. More... | |
Static Public Member Functions | |
| static std::shared_ptr< Node > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Protected Member Functions | |
| virtual void | visit_internal (VisitorBase &visitor, void *retval=nullptr)=0 |
| Internal helper method for visiter pattern. More... | |
Main class for all nodes.
Definition at line 138 of file cqasm-v1-values-gen.hpp.
#include <cqasm-v1-values-gen.hpp>


|
pure virtual |
Returns the NodeType of this node.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
Returns a shallow copy of this node.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
Returns a deep copy of this node.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
|
pure virtual |
Value-based equality operator.
Ignores annotations!
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
|
pure virtual |
Pointer-based equality operator.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
|
inline |
Pointer-based inequality operator.
Definition at line 169 of file cqasm-v1-values-gen.hpp.
|
protectedpure virtual |
Internal helper method for visiter pattern.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
| T cqasm::v1::values::Node::visit | ( | Visitor< T > & | visitor | ) |
Visit this object.
Definition at line 2410 of file cqasm-v1-values-gen.hpp.
| void cqasm::v1::values::Node::dump | ( | std::ostream & | out = std::cout, |
| int | indent = 0 |
||
| ) |
Writes a debug dump of this node to the given stream.
Definition at line 17 of file cqasm-v1-values-gen.cpp.
| void cqasm::v1::values::Node::dump_seq | ( | std::ostream & | out = std::cout, |
| int | indent = 0 |
||
| ) |
Alternate debug dump that represents links and node uniqueness via sequence number tags.
Definition at line 26 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type BitRefs.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::BitRefs.
Definition at line 39 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type BitRefs.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::BitRefs.
Definition at line 47 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstAxis.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstAxis.
Definition at line 55 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstAxis.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstAxis.
Definition at line 63 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstBool.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstBool.
Definition at line 71 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstBool.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstBool.
Definition at line 79 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstComplex.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstComplex.
Definition at line 87 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstComplex.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstComplex.
Definition at line 95 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstComplexMatrix.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstComplexMatrix.
Definition at line 103 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstComplexMatrix.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstComplexMatrix.
Definition at line 111 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstInt.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstInt.
Definition at line 119 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstInt.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstInt.
Definition at line 127 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstJson.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstJson.
Definition at line 135 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstJson.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstJson.
Definition at line 143 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstReal.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstReal.
Definition at line 151 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstReal.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstReal.
Definition at line 159 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstRealMatrix.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstRealMatrix.
Definition at line 167 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstRealMatrix.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstRealMatrix.
Definition at line 175 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstString.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstString.
Definition at line 183 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type ConstString.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::ConstString.
Definition at line 191 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Constant.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Constant.
Definition at line 199 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Constant.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Constant.
Definition at line 207 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Function.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Function.
Definition at line 215 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Function.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Function.
Definition at line 223 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type QubitRefs.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::QubitRefs.
Definition at line 231 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type QubitRefs.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::QubitRefs.
Definition at line 239 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Reference.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Reference.
Definition at line 247 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type Reference.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::Reference.
Definition at line 255 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type VariableRef.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::VariableRef.
Definition at line 263 of file cqasm-v1-values-gen.cpp.
|
virtual |
Interprets this node to a node of type VariableRef.
Returns null if it has the wrong type.
Reimplemented in cqasm::v1::values::VariableRef.
Definition at line 271 of file cqasm-v1-values-gen.cpp.
|
pure virtual |
Serializes this node to the given map.
Implemented in cqasm::v1::values::VariableRef, cqasm::v1::values::QubitRefs, cqasm::v1::values::Function, cqasm::v1::values::ConstString, cqasm::v1::values::ConstRealMatrix, cqasm::v1::values::ConstReal, cqasm::v1::values::ConstJson, cqasm::v1::values::ConstInt, cqasm::v1::values::ConstComplexMatrix, cqasm::v1::values::ConstComplex, cqasm::v1::values::ConstBool, cqasm::v1::values::ConstAxis, and cqasm::v1::values::BitRefs.
|
static |
Deserializes the given node.
Writes a debug dump of this node to the given stream.
Definition at line 278 of file cqasm-v1-values-gen.cpp.
1.8.13