XACC
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
xacc::CompositeInstruction Class Referenceabstract
Inheritance diagram for xacc::CompositeInstruction:
xacc::Instruction xacc::Persistable xacc::BaseInstructionVisitable xacc::Identifiable xacc::Cloneable< Instruction > xacc::quantum::AnnealingProgram xacc::quantum::Circuit xacc::quantum::PulseComposite xacc::dwave::RBM xacc::circuits::ASWAP xacc::circuits::ControlledU xacc::circuits::Exp xacc::circuits::HWE xacc::circuits::InverseQFT xacc::circuits::QAOA xacc::circuits::QFT xacc::circuits::Range xacc::circuits::UCC1 xacc::circuits::UCC3 xacc::circuits::UCCSD xacc::dwave::RBMAsCircuitType xacc::quantum::IfStmt

Public Member Functions

 CompositeInstruction (const CompositeInstruction &other)
 
template<typename... RuntimeArgs>
void updateRuntimeArguments (RuntimeArgs...args)
 
void setArgumentValues (std::vector< HeterogeneousMap > args)
 
void addArgument (std::shared_ptr< CompositeArgument > arg, const int idx_of_inst_param) override
 
virtual void addArgument (const std::string arg_name, const std::string arg_type)
 
virtual std::shared_ptr< CompositeArgumentgetArgument (const std::string &name)
 
virtual std::vector< std::shared_ptr< CompositeArgument > > getArguments ()
 
virtual const int nInstructions ()=0
 
virtual const int nChildren ()=0
 
virtual void setName (const std::string name)=0
 
virtual InstPtr getInstruction (const std::size_t idx)=0
 
virtual std::vector< InstPtr > getInstructions ()=0
 
virtual void removeInstruction (const std::size_t idx)=0
 
virtual void replaceInstruction (const std::size_t idx, InstPtr newInst)=0
 
virtual void insertInstruction (const std::size_t idx, InstPtr newInst)=0
 
virtual void clear ()=0
 
virtual void addInstruction (InstPtr instruction)=0
 
virtual void addInstructions (std::vector< InstPtr > &instruction)=0
 
virtual void addInstructions (const std::vector< InstPtr > &instruction)=0
 
virtual void addInstructions (const std::vector< InstPtr > &&insts)
 
virtual bool hasChildren () const =0
 
virtual bool expand (const HeterogeneousMap &runtimeOptions)=0
 
virtual const std::vector< std::string > requiredKeys ()=0
 
virtual void addVariable (const std::string variableName)=0
 
virtual void addVariables (const std::vector< std::string > &variables)=0
 
virtual void addVariables (const std::vector< std::string > &&variables)
 
virtual const std::vector< std::string > getVariables ()=0
 
virtual void replaceVariable (const std::string variable, const std::string newVariable)=0
 
virtual const std::size_t nVariables ()=0
 
virtual const int depth ()=0
 
virtual const std::string persistGraph ()=0
 
virtual std::shared_ptr< GraphtoGraph ()=0
 
bool isComposite () override
 
virtual const std::size_t nLogicalBits ()=0
 
virtual const std::size_t nPhysicalBits ()=0
 
virtual const std::set< std::size_t > uniqueBits ()=0
 
virtual std::shared_ptr< CompositeInstructionenabledView ()=0
 
virtual void removeDisabled ()=0
 
virtual void setCoefficient (const std::complex< double > coefficient)=0
 
virtual const std::complex< double > getCoefficient ()=0
 
virtual std::shared_ptr< CompositeInstructionoperator() (const std::vector< double > &params)=0
 
virtual const std::string accelerator_signature ()=0
 
virtual void set_accelerator_signature (const std::string signature)=0
 
virtual const std::string getTag ()=0
 
virtual void setTag (const std::string &tag)=0
 
- Public Member Functions inherited from xacc::Instruction
virtual void applyRuntimeArguments ()=0
 
virtual void addIndexMapping (const int idx_1, const int idx_2)
 
virtual const std::string toString ()=0
 
virtual const std::vector< std::size_t > bits ()=0
 
virtual void setBits (const std::vector< std::size_t > bits)=0
 
virtual void mapBits (std::vector< std::size_t > bitMap)=0
 
virtual void setBitExpression (const std::size_t bit_idx, const std::string expr)=0
 
virtual std::string getBitExpression (const std::size_t bit_idx)=0
 
virtual std::string getBufferName (const std::size_t bitIdx)=0
 
virtual std::vector< std::string > getBufferNames ()=0
 
virtual void setBufferNames (const std::vector< std::string > bufferNamesPerIdx)=0
 
virtual const InstructionParameter getParameter (const std::size_t idx) const =0
 
virtual std::vector< InstructionParametergetParameters ()=0
 
virtual void setParameter (const std::size_t idx, InstructionParameter &inst)=0
 
virtual void setParameter (const std::size_t idx, InstructionParameter &&inst)
 
virtual const int nParameters ()=0
 
virtual bool isParameterized ()
 
virtual std::string channel ()
 
virtual void setChannel (const std::string ch)
 
virtual std::size_t start ()
 
virtual void setStart (const std::size_t s)
 
virtual std::size_t duration ()
 
virtual void setDuration (const std::size_t d)
 
virtual void setSamples (const std::vector< std::vector< double >> samples)
 
virtual std::vector< std::vector< double > > getSamples ()
 
virtual bool isEnabled ()
 
virtual void disable ()
 
virtual void enable ()
 
virtual void customVisitAction (BaseInstructionVisitor &visitor)
 
virtual const bool isAnalog () const
 
virtual const int nRequiredBits () const =0
 
- Public Member Functions inherited from xacc::BaseInstructionVisitable
virtual void accept (std::shared_ptr< BaseInstructionVisitor > visitor)=0
 
virtual void accept (BaseInstructionVisitor *visitor)=0
 
virtual ~BaseInstructionVisitable ()
 
- Public Member Functions inherited from xacc::Identifiable
virtual const std::string name () const =0
 
virtual const std::string description () const =0
 
virtual ~Identifiable ()
 
- Public Member Functions inherited from xacc::Cloneable< Instruction >
virtual std::shared_ptr< Instructionclone ()=0
 
virtual bool shouldClone ()
 
virtual ~Cloneable ()
 
- Public Member Functions inherited from xacc::Persistable
virtual void persist (std::ostream &out)=0
 
virtual void load (std::istream &in)=0
 

Protected Member Functions

template<typename T >
void updateArgs (T &value)
 
void constructArgs ()
 
template<typename First , typename... Rest>
void constructArgs (First firstArg, Rest...rest)
 
void countArgs ()
 
template<typename First , typename... Rest>
void countArgs (First firstArg, Rest...rest)
 

Protected Attributes

int _internal_counter = 0
 
int _count_args_counter = 0
 
std::vector< std::shared_ptr< CompositeArgument > > arguments
 

Additional Inherited Members

- Static Protected Member Functions inherited from xacc::BaseInstructionVisitable
template<class T >
static void acceptImpl (T &visited, std::shared_ptr< BaseInstructionVisitor > visitor)
 
template<class T >
static void acceptImpl (T &visited, BaseInstructionVisitor *visitor)
 

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