libqasm
library for handling cQASM files
|
Represents a qubit, or a set of qubits for single-gate-multiple-qubit notation. More...
Public Member Functions | |
QubitRefs (const Many< ConstInt > &index=Many< ConstInt >()) | |
Constructor. More... | |
void | find_reachable (::tree::base::PointerMap &map) const override |
Registers all reachable nodes with the given PointerMap. More... | |
void | check_complete (const ::tree::base::PointerMap &map) const override |
Returns whether this QubitRefs is complete/fully defined. More... | |
NodeType | type () const override |
Returns the NodeType of this node. More... | |
QubitRefs * | as_qubit_refs () override |
Interprets this node to a node of type QubitRefs. More... | |
const QubitRefs * | as_qubit_refs () const override |
Interprets this node to a node of type QubitRefs. More... | |
One< Node > | copy () const override |
Returns a shallow copy of this node. More... | |
One< Node > | clone () const override |
Returns a deep copy of this node. More... | |
bool | equals (const Node &rhs) const override |
Value-based equality operator. More... | |
bool | operator== (const Node &rhs) const override |
Pointer-based equality operator. More... | |
void | serialize (::tree::cbor::MapWriter &map, const ::tree::base::PointerMap &ids) const override |
Serializes this node to the given map. More... | |
![]() | |
Reference * | as_reference () override |
Interprets this node to a node of type Reference. More... | |
const Reference * | as_reference () const override |
Interprets this node to a node of type Reference. 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 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... | |
Static Public Member Functions | |
static std::shared_ptr< QubitRefs > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
Deserializes the given node. More... | |
![]() | |
static std::shared_ptr< Reference > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
Deserializes the given node. More... | |
![]() | |
static std::shared_ptr< Node > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
Deserializes the given node. More... | |
Public Attributes | |
Many< ConstInt > | index |
Set of qubit indices referred to, starting at 0. More... | |
Protected Member Functions | |
void | visit_internal (VisitorBase &visitor, void *retval) override |
Helper method for visiting nodes. More... | |
Represents a qubit, or a set of qubits for single-gate-multiple-qubit notation.
The indices must not repeat.
Definition at line 1422 of file cqasm-v1-values-gen.hpp.
#include <cqasm-v1-values-gen.hpp>
Constructor.
Definition at line 1670 of file cqasm-v1-values-gen.cpp.
|
override |
Registers all reachable nodes with the given PointerMap.
Definition at line 1677 of file cqasm-v1-values-gen.cpp.
|
override |
Returns whether this QubitRefs
is complete/fully defined.
Definition at line 1685 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Returns the NodeType
of this node.
Implements cqasm::v1::values::Node.
Definition at line 1693 of file cqasm-v1-values-gen.cpp.
|
overrideprotectedvirtual |
Helper method for visiting nodes.
Implements cqasm::v1::values::Node.
Definition at line 1700 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Interprets this node to a node of type QubitRefs.
Returns null if it has the wrong type.
Reimplemented from cqasm::v1::values::Node.
Definition at line 1708 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Interprets this node to a node of type QubitRefs.
Returns null if it has the wrong type.
Reimplemented from cqasm::v1::values::Node.
Definition at line 1716 of file cqasm-v1-values-gen.cpp.
Returns a shallow copy of this node.
Implements cqasm::v1::values::Node.
Definition at line 1723 of file cqasm-v1-values-gen.cpp.
Returns a deep copy of this node.
Implements cqasm::v1::values::Node.
Definition at line 1730 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Value-based equality operator.
Ignores annotations!
Implements cqasm::v1::values::Node.
Definition at line 1739 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Pointer-based equality operator.
Implements cqasm::v1::values::Node.
Definition at line 1749 of file cqasm-v1-values-gen.cpp.
|
overridevirtual |
Serializes this node to the given map.
Implements cqasm::v1::values::Node.
Definition at line 1759 of file cqasm-v1-values-gen.cpp.
|
static |
Deserializes the given node.
Writes a debug dump of this node to the given stream.
Definition at line 1774 of file cqasm-v1-values-gen.cpp.
Set of qubit indices referred to, starting at 0.
Definition at line 1428 of file cqasm-v1-values-gen.hpp.