Struct linux_futex::op::Op

source ·
pub struct Op { /* private fields */ }
Expand description

The operation wake_op applies to the second futex.

An Op must be combined with a Cmp by using the plus operator. For example: Op::assign(1) + Cmp::eq(0)

The argument to any operation must be below 1 << 12 (= 4096).

Implementations§

source§

impl Op

source

pub fn assign(arg: u32) -> Self

Assign the argument to the futex value: value = arg

source

pub fn add(arg: u32) -> Self

Add the argument to the futex value: value += arg

source

pub fn or(arg: u32) -> Self

Bitwise-or the futex value with the argument: value |= arg

source

pub fn and_not(arg: u32) -> Self

Bitwise-and the futex value with the bitwise complement of the argument: value &= !arg

source

pub fn xor(arg: u32) -> Self

Xor the futex value with the argument: value ^= arg

source

pub fn assign_bit(bit: u32) -> Self

Assign 1 << bit to the futex value: value = 1 << bit

source

pub fn add_bit(bit: u32) -> Self

Add 1 << bit to the futex value: value += 1 << bit

source

pub fn set_bit(bit: u32) -> Self

Set the bitth bit of the futex value: value |= 1 << bit

source

pub fn clear_bit(bit: u32) -> Self

Clear the bitth bit of the futex value: value &= !(1 << bit)

source

pub fn toggle_bit(bit: u32) -> Self

Toggle the bitth bit of the futex value: value ^= 1 << bit

Trait Implementations§

source§

impl Add<Cmp> for Op

§

type Output = OpAndCmp

The resulting type after applying the + operator.
source§

fn add(self, cmp: Cmp) -> OpAndCmp

Performs the + operation. Read more
source§

impl Clone for Op

source§

fn clone(&self) -> Op

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Op

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Op

source§

fn eq(&self, other: &Op) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Copy for Op

source§

impl Eq for Op

source§

impl StructuralPartialEq for Op

Auto Trait Implementations§

§

impl Freeze for Op

§

impl RefUnwindSafe for Op

§

impl Send for Op

§

impl Sync for Op

§

impl Unpin for Op

§

impl UnwindSafe for Op

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.