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: