ConditionalController
class qiskit.transpiler.ConditionalController(passes, options=None, condition=None, **partial_controller)
Bases: FlowController
Implements a set of passes under a certain condition.
Attributes
registered_controllers
Default value: {'condition': <class 'qiskit.transpiler.runningpassmanager.ConditionalController'>, 'do_while': <class 'qiskit.transpiler.runningpassmanager.DoWhileController'>}
Methods
add_flow_controller
classmethod add_flow_controller(name, controller)
Adds a flow controller.
Parameters
- name (string) – Name of the controller to add.
- controller (type(FlowController)) – The class implementing a flow controller.
controller_factory
classmethod controller_factory(passes, options, **partial_controller)
Constructs a flow controller based on the partially evaluated controller arguments.
Parameters
- passes (list[TBasePass]) – passes to add to the flow controller.
- options (dict) – PassManager options.
- **partial_controller (dict) – Partially evaluated controller arguments in the form {name:partial}
Raises
TranspilerError – When partial_controller is not well-formed.
Returns
A FlowController instance.
Return type
dump_passes
dump_passes()
Fetches the passes added to this flow controller.
Returns
{‘options’: self.options, ‘passes’: [passes], ‘type’: type(self)}
Return type
remove_flow_controller
classmethod remove_flow_controller(name)
Removes a flow controller.
Parameters
name (string) – Name of the controller to remove.
Raises
KeyError – If the controller to remove was not registered.