pub enum Qasm3Statement {
Show 17 variants
Include(String),
Declaration {
var_type: Qasm3Type,
name: String,
init_value: Option<String>,
},
GateDef {
name: String,
params: Vec<String>,
qubits: Vec<String>,
body: Vec<Qasm3Statement>,
},
Gate {
name: String,
modifiers: Vec<GateModifier>,
params: Vec<String>,
qubits: Vec<String>,
},
Measure {
qubit: String,
classical: String,
},
Reset(String),
Barrier(Vec<String>),
If {
condition: String,
then_body: Vec<Qasm3Statement>,
else_body: Option<Vec<Qasm3Statement>>,
},
Switch {
expression: String,
cases: Vec<(Vec<i64>, Vec<Qasm3Statement>)>,
default_case: Option<Vec<Qasm3Statement>>,
},
While {
condition: String,
body: Vec<Qasm3Statement>,
},
For {
var_name: String,
range: String,
body: Vec<Qasm3Statement>,
},
Assignment {
target: String,
value: String,
},
Delay {
duration: String,
qubits: Vec<String>,
},
Box {
body: Vec<Qasm3Statement>,
},
DefCal {
name: String,
params: Vec<String>,
qubits: Vec<String>,
body: String,
},
Comment(String),
Pragma(String),
}Expand description
QASM 3.0 statement
Variants§
Include(String)
Include directive
Declaration
Variable declaration
GateDef
Gate definition
Gate
Gate application
Measure
Measurement
Reset(String)
Reset
Barrier(Vec<String>)
Barrier
If
If statement
Switch
Switch statement (QASM 3.0 dynamic circuits)
Fields
§
default_case: Option<Vec<Qasm3Statement>>While
While loop
For
For loop
Assignment
Classical assignment
Delay
Delay
Box
Box (timing block)
Fields
§
body: Vec<Qasm3Statement>DefCal
Subroutine definition
Comment(String)
Comment
Pragma(String)
Pragma
Trait Implementations§
Source§impl Clone for Qasm3Statement
impl Clone for Qasm3Statement
Source§fn clone(&self) -> Qasm3Statement
fn clone(&self) -> Qasm3Statement
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Qasm3Statement
impl Debug for Qasm3Statement
Auto Trait Implementations§
impl Freeze for Qasm3Statement
impl RefUnwindSafe for Qasm3Statement
impl Send for Qasm3Statement
impl Sync for Qasm3Statement
impl Unpin for Qasm3Statement
impl UnwindSafe for Qasm3Statement
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.