XACC
Public Member Functions | Static Protected Member Functions | List of all members
xacc::BaseInstructionVisitable Class Referenceabstract

#include <InstructionVisitor.hpp>

Inheritance diagram for xacc::BaseInstructionVisitable:
xacc::Instruction xacc::CompositeInstruction xacc::quantum::DWQMI xacc::quantum::Gate xacc::quantum::Pulse xacc::quantum::PulseInstruction xacc::quantum::AnnealingProgram xacc::quantum::Circuit xacc::quantum::PulseComposite xacc::quantum::AnnealingInstruction xacc::quantum::CH xacc::quantum::CNOT xacc::quantum::CPhase xacc::quantum::CRZ xacc::quantum::CY xacc::quantum::CZ xacc::quantum::fSim xacc::quantum::Hadamard xacc::quantum::Identity xacc::quantum::iSwap xacc::quantum::Measure xacc::quantum::Rx xacc::quantum::Ry xacc::quantum::Rz xacc::quantum::S xacc::quantum::Sdg xacc::quantum::Swap xacc::quantum::T xacc::quantum::Tdg xacc::quantum::U xacc::quantum::U1 xacc::quantum::X xacc::quantum::Y xacc::quantum::Z

Public Member Functions

virtual void accept (std::shared_ptr< BaseInstructionVisitor > visitor)=0
 
virtual void accept (BaseInstructionVisitor *visitor)=0
 
virtual ~BaseInstructionVisitable ()
 

Static Protected Member Functions

template<class T >
static void acceptImpl (T &visited, std::shared_ptr< BaseInstructionVisitor > visitor)
 
template<class T >
static void acceptImpl (T &visited, BaseInstructionVisitor *visitor)
 

Detailed Description

BaseInstructionVisitable is an interface that is to be implemented by any and all Instructions that want to be available for visitation. Derivations of this class simply inherit from BaseInstructionVisitable and declare the DEFINE_VISITABLE macro alongside the rest of the classes member methods.

Constructor & Destructor Documentation

virtual xacc::BaseInstructionVisitable::~BaseInstructionVisitable ( )
inlinevirtual

The Destructor

Member Function Documentation

virtual void xacc::BaseInstructionVisitable::accept ( std::shared_ptr< BaseInstructionVisitor visitor)
pure virtual

Accept the provided BaseInstructionVisitor as a shared pointer.

Parameters
visitorThe visitor to invoke visit() on.
virtual void xacc::BaseInstructionVisitable::accept ( BaseInstructionVisitor visitor)
pure virtual

Accept the provided BaseInstructionVisitor as a raw pointer.

Parameters
visitorThe visitor to invoke visit() on.
template<class T >
static void xacc::BaseInstructionVisitable::acceptImpl ( T &  visited,
std::shared_ptr< BaseInstructionVisitor visitor 
)
inlinestaticprotected

This method is invoked by the DEFINE_VISITABLE macro to invoke the visit method on the provided visitor. This method takes the visitor as a shared pointer.

template<class T >
static void xacc::BaseInstructionVisitable::acceptImpl ( T &  visited,
BaseInstructionVisitor visitor 
)
inlinestaticprotected

This method is invoked by the DEFINE_VISITABLE macro to invoke the visit method on the provided visitor. This method takes the visitor as a raw pointer.


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