XACC
staq_swap_short.hpp
1 /*******************************************************************************
2  * Copyright (c) 2020 UT-Battelle, LLC.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * and Eclipse Distribution License v1.0 which accompanies this
6  * distribution. The Eclipse Public License is available at
7  * http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution
8  *License is available at https://eclipse.org/org/documents/edl-v10.php
9  *
10  * Contributors:
11  * Alexander J. McCaskey - initial API and implementation
12  *******************************************************************************/
13 #ifndef QUANTUM_GATE_COMPILER_STAQ_SWAP_SHORT_HPP_
14 #define QUANTUM_GATE_COMPILER_STAQ_SWAP_SHORT_HPP_
15 
16 #include "IRTransformation.hpp"
17 #include "InstructionIterator.hpp"
18 
19 namespace xacc {
20 namespace quantum {
21 
22 class SwapShort : public IRTransformation {
23 
24 public:
25  SwapShort() {}
26  void apply(std::shared_ptr<CompositeInstruction> program,
27  const std::shared_ptr<Accelerator> accelerator,
28  const HeterogeneousMap &options = {}) override;
29  const IRTransformationType type() const override {
30  return IRTransformationType::Placement;
31  }
32 
33  const std::string name() const override { return "swap-shortest-path"; }
34  const std::string description() const override { return ""; }
35 };
36 } // namespace quantum
37 } // namespace xacc
38 
39 #endif
Definition: IRTransformation.hpp:24
Definition: Accelerator.hpp:25
Definition: staq_swap_short.hpp:22
const std::string description() const override
Definition: staq_swap_short.hpp:34
Definition: heterogeneous.hpp:45
const std::string name() const override
Definition: staq_swap_short.hpp:33