pub struct InfixExpression {
pub left: ArcIntern<Expression>,
pub operator: InfixOperator,
pub right: ArcIntern<Expression>,
}Expand description
The type of infix Quil expressions, e.g. e1 + e2.
Quil expressions take advantage of structural sharing, which is why the left and right
expressions here are wrapped in ArcInterns; for more details, see the documentation for
Expression.
Note that when comparing Quil expressions, any embedded NaNs are treated as equal to other NaNs, not unequal, in contravention of the IEEE 754 spec.
Fields§
§left: ArcIntern<Expression>§operator: InfixOperator§right: ArcIntern<Expression>Implementations§
Source§impl InfixExpression
impl InfixExpression
pub fn new( left: ArcIntern<Expression>, operator: InfixOperator, right: ArcIntern<Expression>, ) -> Self
Trait Implementations§
Source§impl Clone for InfixExpression
impl Clone for InfixExpression
Source§fn clone(&self) -> InfixExpression
fn clone(&self) -> InfixExpression
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 InfixExpression
impl Debug for InfixExpression
Source§impl Hash for InfixExpression
impl Hash for InfixExpression
Source§impl PartialEq for InfixExpression
impl PartialEq for InfixExpression
impl Eq for InfixExpression
impl StructuralPartialEq for InfixExpression
Auto Trait Implementations§
impl Freeze for InfixExpression
impl RefUnwindSafe for InfixExpression
impl Send for InfixExpression
impl Sync for InfixExpression
impl Unpin for InfixExpression
impl UnwindSafe for InfixExpression
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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<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.