|
libqasm
library for handling cQASM files
|
A repeat-until loop. More...
Public Member Functions | |
| RepeatUntilLoop (const One< Block > &body=One< Block >(), const One< cqasm::v1::values::Node > &condition=cqasm::v1::primitives::initialize< One< cqasm::v1::values::Node >>(), const Any< AnnotationData > &annotations=Any< AnnotationData >()) | |
| 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 RepeatUntilLoop is complete/fully defined. More... | |
| NodeType | type () const override |
Returns the NodeType of this node. More... | |
| RepeatUntilLoop * | as_repeat_until_loop () override |
| Interprets this node to a node of type RepeatUntilLoop. More... | |
| const RepeatUntilLoop * | as_repeat_until_loop () const override |
| Interprets this node to a node of type RepeatUntilLoop. 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... | |
Public Member Functions inherited from cqasm::v1::semantic::Structured | |
| Structured (const Any< AnnotationData > &annotations=Any< AnnotationData >()) | |
| Constructor. More... | |
| Structured * | as_structured () override |
| Interprets this node to a node of type Structured. More... | |
| const Structured * | as_structured () const override |
| Interprets this node to a node of type Structured. More... | |
Public Member Functions inherited from cqasm::v1::semantic::Statement | |
| Statement (const Any< AnnotationData > &annotations=Any< AnnotationData >()) | |
| Constructor. More... | |
| Statement * | as_statement () override |
| Interprets this node to a node of type Statement. More... | |
| const Statement * | as_statement () const override |
| Interprets this node to a node of type Statement. More... | |
Public Member Functions inherited from cqasm::v1::semantic::Annotated | |
| Annotated (const Any< AnnotationData > &annotations=Any< AnnotationData >()) | |
| Constructor. More... | |
| Annotated * | as_annotated () override |
| Interprets this node to a node of type Annotated. More... | |
| const Annotated * | as_annotated () const override |
| Interprets this node to a node of type Annotated. More... | |
Public Member Functions inherited from cqasm::v1::semantic::Node | |
| 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 AnnotationData * | as_annotation_data () |
| Interprets this node to a node of type AnnotationData. More... | |
| virtual const AnnotationData * | as_annotation_data () const |
| Interprets this node to a node of type AnnotationData. More... | |
| virtual Block * | as_block () |
| Interprets this node to a node of type Block. More... | |
| virtual const Block * | as_block () const |
| Interprets this node to a node of type Block. More... | |
| virtual BreakStatement * | as_break_statement () |
| Interprets this node to a node of type BreakStatement. More... | |
| virtual const BreakStatement * | as_break_statement () const |
| Interprets this node to a node of type BreakStatement. More... | |
| virtual Bundle * | as_bundle () |
| Interprets this node to a node of type Bundle. More... | |
| virtual const Bundle * | as_bundle () const |
| Interprets this node to a node of type Bundle. More... | |
| virtual BundleExt * | as_bundle_ext () |
| Interprets this node to a node of type BundleExt. More... | |
| virtual const BundleExt * | as_bundle_ext () const |
| Interprets this node to a node of type BundleExt. More... | |
| virtual ContinueStatement * | as_continue_statement () |
| Interprets this node to a node of type ContinueStatement. More... | |
| virtual const ContinueStatement * | as_continue_statement () const |
| Interprets this node to a node of type ContinueStatement. More... | |
| virtual ErrorModel * | as_error_model () |
| Interprets this node to a node of type ErrorModel. More... | |
| virtual const ErrorModel * | as_error_model () const |
| Interprets this node to a node of type ErrorModel. More... | |
| virtual ForLoop * | as_for_loop () |
| Interprets this node to a node of type ForLoop. More... | |
| virtual const ForLoop * | as_for_loop () const |
| Interprets this node to a node of type ForLoop. More... | |
| virtual ForeachLoop * | as_foreach_loop () |
| Interprets this node to a node of type ForeachLoop. More... | |
| virtual const ForeachLoop * | as_foreach_loop () const |
| Interprets this node to a node of type ForeachLoop. More... | |
| virtual GotoInstruction * | as_goto_instruction () |
| Interprets this node to a node of type GotoInstruction. More... | |
| virtual const GotoInstruction * | as_goto_instruction () const |
| Interprets this node to a node of type GotoInstruction. More... | |
| virtual IfElse * | as_if_else () |
| Interprets this node to a node of type IfElse. More... | |
| virtual const IfElse * | as_if_else () const |
| Interprets this node to a node of type IfElse. More... | |
| virtual IfElseBranch * | as_if_else_branch () |
| Interprets this node to a node of type IfElseBranch. More... | |
| virtual const IfElseBranch * | as_if_else_branch () const |
| Interprets this node to a node of type IfElseBranch. More... | |
| virtual Instruction * | as_instruction () |
| Interprets this node to a node of type Instruction. More... | |
| virtual const Instruction * | as_instruction () const |
| Interprets this node to a node of type Instruction. More... | |
| virtual InstructionBase * | as_instruction_base () |
| Interprets this node to a node of type InstructionBase. More... | |
| virtual const InstructionBase * | as_instruction_base () const |
| Interprets this node to a node of type InstructionBase. More... | |
| virtual Mapping * | as_mapping () |
| Interprets this node to a node of type Mapping. More... | |
| virtual const Mapping * | as_mapping () const |
| Interprets this node to a node of type Mapping. More... | |
| virtual Program * | as_program () |
| Interprets this node to a node of type Program. More... | |
| virtual const Program * | as_program () const |
| Interprets this node to a node of type Program. More... | |
| virtual SetInstruction * | as_set_instruction () |
| Interprets this node to a node of type SetInstruction. More... | |
| virtual const SetInstruction * | as_set_instruction () const |
| Interprets this node to a node of type SetInstruction. More... | |
| virtual Subcircuit * | as_subcircuit () |
| Interprets this node to a node of type Subcircuit. More... | |
| virtual const Subcircuit * | as_subcircuit () const |
| Interprets this node to a node of type Subcircuit. More... | |
| virtual Variable * | as_variable () |
| Interprets this node to a node of type Variable. More... | |
| virtual const Variable * | as_variable () const |
| Interprets this node to a node of type Variable. More... | |
| virtual Version * | as_version () |
| Interprets this node to a node of type Version. More... | |
| virtual const Version * | as_version () const |
| Interprets this node to a node of type Version. More... | |
| virtual WhileLoop * | as_while_loop () |
| Interprets this node to a node of type WhileLoop. More... | |
| virtual const WhileLoop * | as_while_loop () const |
| Interprets this node to a node of type WhileLoop. More... | |
Static Public Member Functions | |
| static std::shared_ptr< RepeatUntilLoop > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Static Public Member Functions inherited from cqasm::v1::semantic::Structured | |
| static std::shared_ptr< Structured > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Static Public Member Functions inherited from cqasm::v1::semantic::Statement | |
| static std::shared_ptr< Statement > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Static Public Member Functions inherited from cqasm::v1::semantic::Annotated | |
| static std::shared_ptr< Annotated > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Static Public Member Functions inherited from cqasm::v1::semantic::Node | |
| static std::shared_ptr< Node > | deserialize (const ::tree::cbor::MapReader &map, ::tree::base::IdentifierMap &ids) |
| Deserializes the given node. More... | |
Public Attributes | |
| One< Block > | body |
| The loop body. More... | |
| One< cqasm::v1::values::Node > | condition |
| The condition for stopping iteration. More... | |
Public Attributes inherited from cqasm::v1::semantic::Annotated | |
| Any< AnnotationData > | annotations |
| Zero or more annotations attached to this object. More... | |
Protected Member Functions | |
| void | visit_internal (VisitorBase &visitor, void *retval) override |
| Helper method for visiting nodes. More... | |
A repeat-until loop.
Definition at line 2147 of file cqasm-v1-semantic-gen.hpp.
#include <cqasm-v1-semantic-gen.hpp>


| cqasm::v1::semantic::RepeatUntilLoop::RepeatUntilLoop | ( | const One< Block > & | body = One<Block>(), |
| const One< cqasm::v1::values::Node > & | condition = cqasm::v1::primitives::initialize<One<cqasm::v1::values::Node>>(), |
||
| const Any< AnnotationData > & | annotations = Any<AnnotationData>() |
||
| ) |
Constructor.
Definition at line 2684 of file cqasm-v1-semantic-gen.cpp.
|
override |
Registers all reachable nodes with the given PointerMap.
Definition at line 2691 of file cqasm-v1-semantic-gen.cpp.
|
override |
Returns whether this RepeatUntilLoop is complete/fully defined.
Definition at line 2701 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Returns the NodeType of this node.
Implements cqasm::v1::semantic::Node.
Definition at line 2711 of file cqasm-v1-semantic-gen.cpp.
|
overrideprotectedvirtual |
Helper method for visiting nodes.
Implements cqasm::v1::semantic::Node.
Definition at line 2718 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Interprets this node to a node of type RepeatUntilLoop.
Returns null if it has the wrong type.
Reimplemented from cqasm::v1::semantic::Node.
Definition at line 2726 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Interprets this node to a node of type RepeatUntilLoop.
Returns null if it has the wrong type.
Reimplemented from cqasm::v1::semantic::Node.
Definition at line 2734 of file cqasm-v1-semantic-gen.cpp.
Returns a shallow copy of this node.
Implements cqasm::v1::semantic::Node.
Definition at line 2741 of file cqasm-v1-semantic-gen.cpp.
Returns a deep copy of this node.
Implements cqasm::v1::semantic::Node.
Definition at line 2748 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Value-based equality operator.
Ignores annotations!
Implements cqasm::v1::semantic::Node.
Definition at line 2759 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Pointer-based equality operator.
Implements cqasm::v1::semantic::Node.
Definition at line 2771 of file cqasm-v1-semantic-gen.cpp.
|
overridevirtual |
Serializes this node to the given map.
Implements cqasm::v1::semantic::Node.
Definition at line 2783 of file cqasm-v1-semantic-gen.cpp.
|
static |
Deserializes the given node.
Writes a debug dump of this node to the given stream.
Definition at line 2804 of file cqasm-v1-semantic-gen.cpp.
The loop body.
Definition at line 2153 of file cqasm-v1-semantic-gen.hpp.
| One<cqasm::v1::values::Node> cqasm::v1::semantic::RepeatUntilLoop::condition |
The condition for stopping iteration.
Definition at line 2158 of file cqasm-v1-semantic-gen.hpp.
1.8.13