pub struct IOCondition { /* private fields */ }
Implementations§
§impl IOCondition
impl IOCondition
pub const IN: IOCondition = Self{ bits: ffi::G_IO_IN as _,}
pub const OUT: IOCondition = Self{ bits: ffi::G_IO_OUT as _,}
pub const PRI: IOCondition = Self{ bits: ffi::G_IO_PRI as _,}
pub const ERR: IOCondition = Self{ bits: ffi::G_IO_ERR as _,}
pub const HUP: IOCondition = Self{ bits: ffi::G_IO_HUP as _,}
pub const NVAL: IOCondition = Self{ bits: ffi::G_IO_NVAL as _,}
pub const fn empty() -> IOCondition
pub const fn empty() -> IOCondition
Returns an empty set of flags.
pub const fn all() -> IOCondition
pub const fn all() -> IOCondition
Returns the set containing all flags.
pub const fn from_bits(bits: u32) -> Option<IOCondition>
pub const fn from_bits(bits: u32) -> Option<IOCondition>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
pub const fn from_bits_truncate(bits: u32) -> IOCondition
pub const fn from_bits_truncate(bits: u32) -> IOCondition
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
pub const unsafe fn from_bits_unchecked(bits: u32) -> IOCondition
pub const unsafe fn from_bits_unchecked(bits: u32) -> IOCondition
Convert from underlying bit representation, preserving all bits (even those not corresponding to a defined flag).
Safety
The caller of the bitflags!
macro can chose to allow or
disallow extra bits for their bitflags type.
The caller of from_bits_unchecked()
has to ensure that
all bits correspond to a defined flag or that extra bits
are valid for this bitflags type.
pub const fn intersects(&self, other: IOCondition) -> bool
pub const fn intersects(&self, other: IOCondition) -> bool
Returns true
if there are flags common to both self
and other
.
pub const fn contains(&self, other: IOCondition) -> bool
pub const fn contains(&self, other: IOCondition) -> bool
Returns true
if all of the flags in other
are contained within self
.
pub fn insert(&mut self, other: IOCondition)
pub fn insert(&mut self, other: IOCondition)
Inserts the specified flags in-place.
pub fn remove(&mut self, other: IOCondition)
pub fn remove(&mut self, other: IOCondition)
Removes the specified flags in-place.
pub fn toggle(&mut self, other: IOCondition)
pub fn toggle(&mut self, other: IOCondition)
Toggles the specified flags in-place.
pub fn set(&mut self, other: IOCondition, value: bool)
pub fn set(&mut self, other: IOCondition, value: bool)
Inserts or removes the specified flags depending on the passed value.
pub const fn intersection(self, other: IOCondition) -> IOCondition
pub const fn intersection(self, other: IOCondition) -> IOCondition
Returns the intersection between the flags in self
and
other
.
Specifically, the returned set contains only the flags which are
present in both self
and other
.
This is equivalent to using the &
operator (e.g.
ops::BitAnd
), as in flags & other
.
pub const fn union(self, other: IOCondition) -> IOCondition
pub const fn union(self, other: IOCondition) -> IOCondition
Returns the union of between the flags in self
and other
.
Specifically, the returned set contains all flags which are
present in either self
or other
, including any which are
present in both (see Self::symmetric_difference
if that
is undesirable).
This is equivalent to using the |
operator (e.g.
ops::BitOr
), as in flags | other
.
pub const fn difference(self, other: IOCondition) -> IOCondition
pub const fn difference(self, other: IOCondition) -> IOCondition
Returns the difference between the flags in self
and other
.
Specifically, the returned set contains all flags present in
self
, except for the ones present in other
.
It is also conceptually equivalent to the “bit-clear” operation:
flags & !other
(and this syntax is also supported).
This is equivalent to using the -
operator (e.g.
ops::Sub
), as in flags - other
.
pub const fn symmetric_difference(self, other: IOCondition) -> IOCondition
pub const fn symmetric_difference(self, other: IOCondition) -> IOCondition
Returns the symmetric difference between the flags
in self
and other
.
Specifically, the returned set contains the flags present which
are present in self
or other
, but that are not present in
both. Equivalently, it contains the flags present in exactly
one of the sets self
and other
.
This is equivalent to using the ^
operator (e.g.
ops::BitXor
), as in flags ^ other
.
pub const fn complement(self) -> IOCondition
pub const fn complement(self) -> IOCondition
Returns the complement of this set of flags.
Specifically, the returned set contains all the flags which are
not set in self
, but which are allowed for this type.
Alternatively, it can be thought of as the set difference
between Self::all()
and self
(e.g. Self::all() - self
)
This is equivalent to using the !
operator (e.g.
ops::Not
), as in !flags
.
Trait Implementations§
§impl Binary for IOCondition
impl Binary for IOCondition
§impl BitAnd<IOCondition> for IOCondition
impl BitAnd<IOCondition> for IOCondition
§fn bitand(self, other: IOCondition) -> IOCondition
fn bitand(self, other: IOCondition) -> IOCondition
Returns the intersection between the two sets of flags.
§type Output = IOCondition
type Output = IOCondition
&
operator.§impl BitAndAssign<IOCondition> for IOCondition
impl BitAndAssign<IOCondition> for IOCondition
§fn bitand_assign(&mut self, other: IOCondition)
fn bitand_assign(&mut self, other: IOCondition)
Disables all flags disabled in the set.
§impl BitOr<IOCondition> for IOCondition
impl BitOr<IOCondition> for IOCondition
§fn bitor(self, other: IOCondition) -> IOCondition
fn bitor(self, other: IOCondition) -> IOCondition
Returns the union of the two sets of flags.
§type Output = IOCondition
type Output = IOCondition
|
operator.§impl BitOrAssign<IOCondition> for IOCondition
impl BitOrAssign<IOCondition> for IOCondition
§fn bitor_assign(&mut self, other: IOCondition)
fn bitor_assign(&mut self, other: IOCondition)
Adds the set of flags.
§impl BitXor<IOCondition> for IOCondition
impl BitXor<IOCondition> for IOCondition
§fn bitxor(self, other: IOCondition) -> IOCondition
fn bitxor(self, other: IOCondition) -> IOCondition
Returns the left flags, but with all the right flags toggled.
§type Output = IOCondition
type Output = IOCondition
^
operator.§impl BitXorAssign<IOCondition> for IOCondition
impl BitXorAssign<IOCondition> for IOCondition
§fn bitxor_assign(&mut self, other: IOCondition)
fn bitxor_assign(&mut self, other: IOCondition)
Toggles the set of flags.
§impl Clone for IOCondition
impl Clone for IOCondition
§fn clone(&self) -> IOCondition
fn clone(&self) -> IOCondition
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl Debug for IOCondition
impl Debug for IOCondition
§impl Display for IOCondition
impl Display for IOCondition
§impl Extend<IOCondition> for IOCondition
impl Extend<IOCondition> for IOCondition
§fn extend<T>(&mut self, iterator: T)where
T: IntoIterator<Item = IOCondition>,
fn extend<T>(&mut self, iterator: T)where T: IntoIterator<Item = IOCondition>,
source§fn extend_one(&mut self, item: A)
fn extend_one(&mut self, item: A)
extend_one
)source§fn extend_reserve(&mut self, additional: usize)
fn extend_reserve(&mut self, additional: usize)
extend_one
)§impl FromIterator<IOCondition> for IOCondition
impl FromIterator<IOCondition> for IOCondition
§fn from_iter<T>(iterator: T) -> IOConditionwhere
T: IntoIterator<Item = IOCondition>,
fn from_iter<T>(iterator: T) -> IOConditionwhere T: IntoIterator<Item = IOCondition>,
§impl<'a> FromValue<'a> for IOCondition
impl<'a> FromValue<'a> for IOCondition
§type Checker = GenericValueTypeChecker<IOCondition>
type Checker = GenericValueTypeChecker<IOCondition>
§unsafe fn from_value(value: &'a Value) -> IOCondition
unsafe fn from_value(value: &'a Value) -> IOCondition
Value
. Read more§impl Hash for IOCondition
impl Hash for IOCondition
§impl LowerHex for IOCondition
impl LowerHex for IOCondition
§impl Not for IOCondition
impl Not for IOCondition
§fn not(self) -> IOCondition
fn not(self) -> IOCondition
Returns the complement of this set of flags.
§type Output = IOCondition
type Output = IOCondition
!
operator.§impl Octal for IOCondition
impl Octal for IOCondition
§impl Ord for IOCondition
impl Ord for IOCondition
§impl PartialEq<IOCondition> for IOCondition
impl PartialEq<IOCondition> for IOCondition
§fn eq(&self, other: &IOCondition) -> bool
fn eq(&self, other: &IOCondition) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PartialOrd<IOCondition> for IOCondition
impl PartialOrd<IOCondition> for IOCondition
§fn partial_cmp(&self, other: &IOCondition) -> Option<Ordering>
fn partial_cmp(&self, other: &IOCondition) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more§impl StaticType for IOCondition
impl StaticType for IOCondition
§fn static_type() -> Type
fn static_type() -> Type
Self
.§impl Sub<IOCondition> for IOCondition
impl Sub<IOCondition> for IOCondition
§fn sub(self, other: IOCondition) -> IOCondition
fn sub(self, other: IOCondition) -> IOCondition
Returns the set difference of the two sets of flags.
§type Output = IOCondition
type Output = IOCondition
-
operator.§impl SubAssign<IOCondition> for IOCondition
impl SubAssign<IOCondition> for IOCondition
§fn sub_assign(&mut self, other: IOCondition)
fn sub_assign(&mut self, other: IOCondition)
Disables all flags enabled in the set.
§impl ToValue for IOCondition
impl ToValue for IOCondition
§impl UpperHex for IOCondition
impl UpperHex for IOCondition
§impl ValueType for IOCondition
impl ValueType for IOCondition
§type Type = IOCondition
type Type = IOCondition
Type
from. Read moreimpl Copy for IOCondition
impl Eq for IOCondition
impl StructuralEq for IOCondition
impl StructuralPartialEq for IOCondition
Auto Trait Implementations§
impl RefUnwindSafe for IOCondition
impl Send for IOCondition
impl Sync for IOCondition
impl Unpin for IOCondition
impl UnwindSafe for IOCondition
Blanket Implementations§
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> RoundFrom<T> for T
impl<T> RoundFrom<T> for T
§fn round_from(x: T) -> T
fn round_from(x: T) -> T
§impl<T, U> RoundInto<U> for Twhere
U: RoundFrom<T>,
impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,
§fn round_into(self) -> U
fn round_into(self) -> U
§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere T: StaticType,
§fn ensure_type()
fn ensure_type()
§impl<T> ToClosureReturnValue for Twhere
T: ToValue,
impl<T> ToClosureReturnValue for Twhere T: ToValue,
fn to_closure_return_value(&self) -> Option<Value>
§impl<T> ToSendValue for Twhere
T: Send + ToValue + ?Sized,
impl<T> ToSendValue for Twhere T: Send + ToValue + ?Sized,
§fn to_send_value(&self) -> SendValue
fn to_send_value(&self) -> SendValue
SendValue
clone of self
.