Y.hpp 1.23 KB
Newer Older
1
2
3
4
5
6
7
8
/*******************************************************************************
 * Copyright (c) 2017 UT-Battelle, LLC.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * and Eclipse Distribution License v1.0 which accompanies this
 * distribution. The Eclipse Public License is available at
 * http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License
 * is available at https://eclipse.org/org/documents/edl-v10.php
9
10
 *
 * Contributors:
11
12
 *   Alexander J. McCaskey - initial API and implementation
 *******************************************************************************/
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef QUANTUM_GATE_IR_Y_HPP_
#define QUANTUM_GATE_IR_Y_HPP_

#include "GateInstruction.hpp"

namespace xacc {
namespace quantum {

/**
 *
 */
class Y : public virtual GateInstruction {
public:
26
27
	Y() : GateInstruction("Y"){}

28
29
30
	Y(std::vector<int> qbit);

	Y(int qbit);
31
32
33
34
35
36
37
38
39
40
	virtual std::shared_ptr<GateInstruction> clone() {
		return std::make_shared<Y>();
	}
	/**
	 * Return the description of this instance
	 * @return description The description of this object.
	 */
	virtual const std::string description() const {
		return "";
	}
41
42
43
44
45
46
47
48
49
50

	DEFINE_VISITABLE()

};


}
}

#endif