pub enum AtomicOp {
Load(UnaryOperator),
Store(UnaryOperator),
Swap(BinaryOperator),
Add(BinaryOperator),
Sub(BinaryOperator),
Max(BinaryOperator),
Min(BinaryOperator),
And(BinaryOperator),
Or(BinaryOperator),
Xor(BinaryOperator),
CompareAndSwap(CompareAndSwapOperator),
}
Expand description
Operations that operate on atomics
Variants§
Load(UnaryOperator)
Store(UnaryOperator)
Swap(BinaryOperator)
Add(BinaryOperator)
Sub(BinaryOperator)
Max(BinaryOperator)
Min(BinaryOperator)
And(BinaryOperator)
Or(BinaryOperator)
Xor(BinaryOperator)
CompareAndSwap(CompareAndSwapOperator)
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AtomicOp
impl<'de> Deserialize<'de> for AtomicOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl OperationReflect for AtomicOp
impl OperationReflect for AtomicOp
Source§type OpCode = AtomicOpCode
type OpCode = AtomicOpCode
Type of the op codes for this operation
Source§fn args(&self) -> Option<Vec<Variable>>
fn args(&self) -> Option<Vec<Variable>>
Get the list of arguments for this operation. If not all arguments are
Variable
, returns
None
instead.Source§fn from_code_and_args(op_code: Self::OpCode, args: &[Variable]) -> Option<Self>
fn from_code_and_args(op_code: Self::OpCode, args: &[Variable]) -> Option<Self>
Create typed operation from an opcode and a list of arguments. Returns
None
if not all
arguments are Variable
.Source§fn is_commutative(&self) -> bool
fn is_commutative(&self) -> bool
Whether this operation is commutative (arguments can be freely reordered). Ignored for
single argument operations.
impl Eq for AtomicOp
impl StructuralPartialEq for AtomicOp
Auto Trait Implementations§
impl Freeze for AtomicOp
impl RefUnwindSafe for AtomicOp
impl Send for AtomicOp
impl Sync for AtomicOp
impl Unpin for AtomicOp
impl UnwindSafe for AtomicOp
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.