libqasm
library for handling cQASM files
Public Member Functions | List of all members
cqasm::v1::types::RecursiveVisitor Class Reference

Visitor base class defaulting to DFS pre-order traversal. More...

Public Member Functions

void visit_axis (Axis &node) override
 Recursive traversal for Axis nodes. More...
 
void visit_bool (Bool &node) override
 Recursive traversal for Bool nodes. More...
 
void visit_complex (Complex &node) override
 Recursive traversal for Complex nodes. More...
 
void visit_complex_matrix (ComplexMatrix &node) override
 Recursive traversal for ComplexMatrix nodes. More...
 
void visit_int (Int &node) override
 Recursive traversal for Int nodes. More...
 
void visit_json (Json &node) override
 Recursive traversal for Json nodes. More...
 
void visit_qubit (Qubit &node) override
 Recursive traversal for Qubit nodes. More...
 
void visit_real (Real &node) override
 Recursive traversal for Real nodes. More...
 
void visit_real_matrix (RealMatrix &node) override
 Recursive traversal for RealMatrix nodes. More...
 
void visit_string (String &node) override
 Recursive traversal for String nodes. More...
 
void visit_type_base (TypeBase &node) override
 Recursive traversal for TypeBase nodes. More...
 
- Public Member Functions inherited from cqasm::v1::types::Visitor< void >
virtual void visit_node (Node &node)=0
 Fallback function for nodes of any type. More...
 
- Public Member Functions inherited from cqasm::v1::types::VisitorBase
virtual ~VisitorBase ()=default
 Virtual destructor for proper cleanup. More...
 

Additional Inherited Members

- Protected Member Functions inherited from cqasm::v1::types::Visitor< void >
void raw_visit_node (Node &node, void *retval) override
 Internal visitor function for nodes of any type. More...
 
void raw_visit_node (Node &node, void *retval)
 Internal visitor function for nodes of any type. More...
 
void raw_visit_node (Node &node, void *retval)
 Internal visitor function for nodes of any type. More...
 
void raw_visit_axis (Axis &node, void *retval) override
 Internal visitor function for Axis nodes. More...
 
void raw_visit_axis (Axis &node, void *retval)
 Internal visitor function for Axis nodes. More...
 
void raw_visit_axis (Axis &node, void *retval)
 Internal visitor function for Axis nodes. More...
 
void raw_visit_bool (Bool &node, void *retval) override
 Internal visitor function for Bool nodes. More...
 
void raw_visit_bool (Bool &node, void *retval)
 Internal visitor function for Bool nodes. More...
 
void raw_visit_bool (Bool &node, void *retval)
 Internal visitor function for Bool nodes. More...
 
void raw_visit_complex (Complex &node, void *retval) override
 Internal visitor function for Complex nodes. More...
 
void raw_visit_complex (Complex &node, void *retval)
 Internal visitor function for Complex nodes. More...
 
void raw_visit_complex (Complex &node, void *retval)
 Internal visitor function for Complex nodes. More...
 
void raw_visit_complex_matrix (ComplexMatrix &node, void *retval) override
 Internal visitor function for ComplexMatrix nodes. More...
 
void raw_visit_complex_matrix (ComplexMatrix &node, void *retval)
 Internal visitor function for ComplexMatrix nodes. More...
 
void raw_visit_complex_matrix (ComplexMatrix &node, void *retval)
 Internal visitor function for ComplexMatrix nodes. More...
 
void raw_visit_int (Int &node, void *retval) override
 Internal visitor function for Int nodes. More...
 
void raw_visit_int (Int &node, void *retval)
 Internal visitor function for Int nodes. More...
 
void raw_visit_int (Int &node, void *retval)
 Internal visitor function for Int nodes. More...
 
void raw_visit_json (Json &node, void *retval) override
 Internal visitor function for Json nodes. More...
 
void raw_visit_json (Json &node, void *retval)
 Internal visitor function for Json nodes. More...
 
void raw_visit_json (Json &node, void *retval)
 Internal visitor function for Json nodes. More...
 
void raw_visit_qubit (Qubit &node, void *retval) override
 Internal visitor function for Qubit nodes. More...
 
void raw_visit_qubit (Qubit &node, void *retval)
 Internal visitor function for Qubit nodes. More...
 
void raw_visit_qubit (Qubit &node, void *retval)
 Internal visitor function for Qubit nodes. More...
 
void raw_visit_real (Real &node, void *retval) override
 Internal visitor function for Real nodes. More...
 
void raw_visit_real (Real &node, void *retval)
 Internal visitor function for Real nodes. More...
 
void raw_visit_real (Real &node, void *retval)
 Internal visitor function for Real nodes. More...
 
void raw_visit_real_matrix (RealMatrix &node, void *retval) override
 Internal visitor function for RealMatrix nodes. More...
 
void raw_visit_real_matrix (RealMatrix &node, void *retval)
 Internal visitor function for RealMatrix nodes. More...
 
void raw_visit_real_matrix (RealMatrix &node, void *retval)
 Internal visitor function for RealMatrix nodes. More...
 
void raw_visit_string (String &node, void *retval) override
 Internal visitor function for String nodes. More...
 
void raw_visit_string (String &node, void *retval)
 Internal visitor function for String nodes. More...
 
void raw_visit_string (String &node, void *retval)
 Internal visitor function for String nodes. More...
 
void raw_visit_type_base (TypeBase &node, void *retval) override
 Internal visitor function for TypeBase nodes. More...
 
void raw_visit_type_base (TypeBase &node, void *retval)
 Internal visitor function for TypeBase nodes. More...
 
void raw_visit_type_base (TypeBase &node, void *retval)
 Internal visitor function for TypeBase nodes. More...
 
- Protected Member Functions inherited from cqasm::v1::types::VisitorBase
virtual void raw_visit_node (Node &node, void *retval)=0
 Internal visitor function for nodes of any type. More...
 

Detailed Description

Visitor base class defaulting to DFS pre-order traversal.

The visitor functions for nodes with subnode fields default to DFS traversal in addition to falling back to more generic node types.Links and OptLinks are not followed.

Definition at line 1672 of file cqasm-v1-types-gen.hpp.

#include <cqasm-v1-types-gen.hpp>

Inheritance diagram for cqasm::v1::types::RecursiveVisitor:
Inheritance graph
[legend]
Collaboration diagram for cqasm::v1::types::RecursiveVisitor:
Collaboration graph
[legend]

Member Function Documentation

◆ visit_axis()

void cqasm::v1::types::RecursiveVisitor::visit_axis ( Axis node)
overridevirtual

Recursive traversal for Axis nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1577 of file cqasm-v1-types-gen.cpp.

◆ visit_bool()

void cqasm::v1::types::RecursiveVisitor::visit_bool ( Bool node)
overridevirtual

Recursive traversal for Bool nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1584 of file cqasm-v1-types-gen.cpp.

◆ visit_complex()

void cqasm::v1::types::RecursiveVisitor::visit_complex ( Complex node)
overridevirtual

Recursive traversal for Complex nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1591 of file cqasm-v1-types-gen.cpp.

◆ visit_complex_matrix()

void cqasm::v1::types::RecursiveVisitor::visit_complex_matrix ( ComplexMatrix node)
overridevirtual

Recursive traversal for ComplexMatrix nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1598 of file cqasm-v1-types-gen.cpp.

◆ visit_int()

void cqasm::v1::types::RecursiveVisitor::visit_int ( Int node)
overridevirtual

Recursive traversal for Int nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1605 of file cqasm-v1-types-gen.cpp.

◆ visit_json()

void cqasm::v1::types::RecursiveVisitor::visit_json ( Json node)
overridevirtual

Recursive traversal for Json nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1612 of file cqasm-v1-types-gen.cpp.

◆ visit_qubit()

void cqasm::v1::types::RecursiveVisitor::visit_qubit ( Qubit node)
overridevirtual

Recursive traversal for Qubit nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1619 of file cqasm-v1-types-gen.cpp.

◆ visit_real()

void cqasm::v1::types::RecursiveVisitor::visit_real ( Real node)
overridevirtual

Recursive traversal for Real nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1626 of file cqasm-v1-types-gen.cpp.

◆ visit_real_matrix()

void cqasm::v1::types::RecursiveVisitor::visit_real_matrix ( RealMatrix node)
overridevirtual

Recursive traversal for RealMatrix nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1633 of file cqasm-v1-types-gen.cpp.

◆ visit_string()

void cqasm::v1::types::RecursiveVisitor::visit_string ( String node)
overridevirtual

Recursive traversal for String nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1640 of file cqasm-v1-types-gen.cpp.

◆ visit_type_base()

void cqasm::v1::types::RecursiveVisitor::visit_type_base ( TypeBase node)
overridevirtual

Recursive traversal for TypeBase nodes.

Reimplemented from cqasm::v1::types::Visitor< void >.

Reimplemented in cqasm::v1::types::Dumper.

Definition at line 1647 of file cqasm-v1-types-gen.cpp.


The documentation for this class was generated from the following files: