Struct Mode
struct Mode(_)
"File mode / permissions" flags.
Implementations
impl Mode
const fn empty() -> SelfGet a flags value with all bits unset.
const fn all() -> SelfGet a flags value with all known bits set.
const fn bits(self: &Self) -> mode_tGet the underlying bits value.
The returned value is exactly the bits set in this flags value.
const fn from_bits(bits: mode_t) -> Option<Self>Convert from a bits value.
This method will return
Noneif any unknown bits are set.const fn from_bits_truncate(bits: mode_t) -> SelfConvert from a bits value, unsetting any unknown bits.
const fn from_bits_retain(bits: mode_t) -> SelfConvert from a bits value exactly.
fn from_name(name: &str) -> Option<Self>Get a flags value with the bits of a flag with the given name set.
This method will return
Noneifnameis empty or doesn't correspond to any named flag.const fn is_empty(self: &Self) -> boolWhether all bits in this flags value are unset.
const fn is_all(self: &Self) -> boolWhether all known bits in this flags value are set.
const fn intersects(self: &Self, other: Self) -> boolWhether any set bits in a source flags value are also set in a target flags value.
const fn contains(self: &Self, other: Self) -> boolWhether all set bits in a source flags value are also set in a target flags value.
fn insert(self: &mut Self, other: Self)The bitwise or (
|) of the bits in two flags values.fn remove(self: &mut Self, other: Self)The intersection of a source flags value with the complement of a target flags value (
&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.removewon't truncateother, but the!operator will.fn toggle(self: &mut Self, other: Self)The bitwise exclusive-or (
^) of the bits in two flags values.fn set(self: &mut Self, other: Self, value: bool)Call
insertwhenvalueistrueorremovewhenvalueisfalse.const fn intersection(self: Self, other: Self) -> SelfThe bitwise and (
&) of the bits in two flags values.const fn union(self: Self, other: Self) -> SelfThe bitwise or (
|) of the bits in two flags values.const fn difference(self: Self, other: Self) -> SelfThe intersection of a source flags value with the complement of a target flags value (
&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.const fn symmetric_difference(self: Self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits in two flags values.const fn complement(self: Self) -> SelfThe bitwise negation (
!) of the bits in a flags value, truncating the result.
impl Mode
const fn iter(self: &Self) -> Iter<Mode>Yield a set of contained flags values.
Each yielded flags value will correspond to a defined named flag. Any unknown bits will be yielded together as a final flags value.
const fn iter_names(self: &Self) -> IterNames<Mode>Yield a set of contained named flags values.
This method is like
iter, except only yields bits in contained named flags. Any unknown bits, or bits not corresponding to a contained flag will not be yielded.
impl Mode
impl Binary for Mode
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl BitAnd for Mode
fn bitand(self: Self, other: Self) -> SelfThe bitwise and (
&) of the bits in two flags values.
impl BitAndAssign for Mode
fn bitand_assign(self: &mut Self, other: Self)The bitwise and (
&) of the bits in two flags values.
impl BitOr for Mode
fn bitor(self: Self, other: Mode) -> SelfThe bitwise or (
|) of the bits in two flags values.
impl BitOrAssign for Mode
fn bitor_assign(self: &mut Self, other: Self)The bitwise or (
|) of the bits in two flags values.
impl BitXor for Mode
fn bitxor(self: Self, other: Self) -> SelfThe bitwise exclusive-or (
^) of the bits in two flags values.
impl BitXorAssign for Mode
fn bitxor_assign(self: &mut Self, other: Self)The bitwise exclusive-or (
^) of the bits in two flags values.
impl Clone for Mode
fn clone(self: &Self) -> Mode
impl Copy for Mode
impl Debug for Mode
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Eq for Mode
impl Extend for Mode
fn extend<T: $crate::__private::core::iter::IntoIterator<Item = Self>>(self: &mut Self, iterator: T)The bitwise or (
|) of the bits in each flags value.
impl Flags for Mode
fn bits(self: &Self) -> mode_tfn from_bits_retain(bits: mode_t) -> Mode
impl Freeze for Mode
impl FromIterator for Mode
fn from_iter<T: $crate::__private::core::iter::IntoIterator<Item = Self>>(iterator: T) -> SelfThe bitwise or (
|) of the bits in each flags value.
impl Hash for Mode
fn hash<__H: $crate::hash::Hasher>(self: &Self, state: &mut __H)
impl IntoIterator for Mode
fn into_iter(self: Self) -> <Self as >::IntoIter
impl LowerHex for Mode
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Not for Mode
fn not(self: Self) -> SelfThe bitwise negation (
!) of the bits in a flags value, truncating the result.
impl Octal for Mode
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl Ord for Mode
fn cmp(self: &Self, other: &Mode) -> Ordering
impl PartialEq for Mode
fn eq(self: &Self, other: &Mode) -> bool
impl PartialOrd for Mode
fn partial_cmp(self: &Self, other: &Mode) -> Option<Ordering>
impl PublicFlags for Mode
impl RefUnwindSafe for Mode
impl Send for Mode
impl StructuralPartialEq for Mode
impl Sub for Mode
fn sub(self: Self, other: Self) -> SelfThe intersection of a source flags value with the complement of a target flags value (
&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.
impl SubAssign for Mode
fn sub_assign(self: &mut Self, other: Self)The intersection of a source flags value with the complement of a target flags value (
&!).This method is not equivalent to
self & !otherwhenotherhas unknown bits set.differencewon't truncateother, but the!operator will.
impl Sync for Mode
impl Unpin for Mode
impl UnsafeUnpin for Mode
impl UnwindSafe for Mode
impl UpperHex for Mode
fn fmt(self: &Self, f: &mut Formatter<'_>) -> Result
impl<T> Any for Mode
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Mode
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Mode
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> CloneToUninit for Mode
unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)
impl<T> From for Mode
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Mode
fn to_owned(self: &Self) -> Tfn clone_into(self: &Self, target: &mut T)
impl<T, U> Into for Mode
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Mode
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Mode
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>