pub struct CFlag { /* private fields */ }
Expand description
Each CONV symbol may be:
-
ascii from EBCDIC to ASCII
-
ebcdic from ASCII to EBCDIC
-
ibm from ASCII to alternate EBCDIC
-
block pad newline-terminated records with spaces to cbs-size
-
unblock replace trailing spaces in cbs-size records with newline
-
lcase change upper case to lower case
-
ucase change lower case to upper case
-
sparse try to seek rather than write the output for NUL input blocks
-
swab swap every pair of input bytes
-
sync pad every input block with NULs to ibs-size; when used with block or unblock, pad with spaces rather than NULs
-
excl fail if the output file already exists
-
nocreat do not create the output file
-
notrunc do not truncate the output file
-
noerror continue after read errors
-
fdatasync physically write output file data before finishing
-
fsync likewise, but also write metadata
Implementations§
Source§impl CFlag
impl CFlag
Sourcepub const BLOCK: Self
pub const BLOCK: Self
“block” mode: Treats the input as a sequence of newline or end-of-file terminated variable length records independent of input and output block bound- aries. Any trailing newline character is discarded. Each input record is converted to a fixed length output record where the length is specified by the cbs operand. Input records shorter than the conversion record size are padded with spaces. Input records longer than the conversion record size are truncated. The number of truncated input records, if any, are reported to the standard error output at the completion of the copy.
Sourcepub const UNBLOCK: Self
pub const UNBLOCK: Self
Treats the input as a sequence of fixed length records independent of input and output block boundaries. The length of the input records is specified by the cbs operand. Any trailing space characters are discarded and a newline character is appended.
Sourcepub const SYNC: Self
pub const SYNC: Self
Pad every input block to the input buffer size. Spaces are used for pad bytes if a block oriented conversion value is specified, otherwise NUL bytes are used.
Sourcepub const OSYNC: Self
pub const OSYNC: Self
Sourcepub const NOERROR: Self
pub const NOERROR: Self
Sourcepub const NOTRUNC: Self
pub const NOTRUNC: Self
Do not truncate the output file. This will preserve any blocks in the output file not explicitly written by dd. The notrunc value is not supported for tapes.
Sourcepub const SPARSE: Self
pub const SPARSE: Self
If one or more output blocks would consist solely of NUL bytes, try to seek the out- put file by the required space instead of filling them with NULs, resulting in a sparse file.
Sourcepub const SWAB: Self
pub const SWAB: Self
Swap every pair of input bytes. If an input buffer has an odd number of bytes, the last byte will be ignored during swapping.
Sourcepub const fn from_bits(bits: u32) -> Option<Self>
pub const fn from_bits(bits: u32) -> Option<Self>
Convert from underlying bit representation, unless that representation contains bits that do not correspond to a flag.
Sourcepub const fn from_bits_truncate(bits: u32) -> Self
pub const fn from_bits_truncate(bits: u32) -> Self
Convert from underlying bit representation, dropping any bits that do not correspond to flags.
Sourcepub const unsafe fn from_bits_unchecked(bits: u32) -> Self
pub const unsafe fn from_bits_unchecked(bits: u32) -> Self
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.
Sourcepub const fn intersects(&self, other: Self) -> bool
pub const fn intersects(&self, other: Self) -> bool
Returns true
if there are flags common to both self
and other
.
Sourcepub const fn contains(&self, other: Self) -> bool
pub const fn contains(&self, other: Self) -> bool
Returns true
if all of the flags in other
are contained within self
.
Sourcepub fn set(&mut self, other: Self, value: bool)
pub fn set(&mut self, other: Self, value: bool)
Inserts or removes the specified flags depending on the passed value.
Sourcepub const fn intersection(self, other: Self) -> Self
pub const fn intersection(self, other: Self) -> Self
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
.
Sourcepub const fn union(self, other: Self) -> Self
pub const fn union(self, other: Self) -> Self
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
.
Sourcepub const fn difference(self, other: Self) -> Self
pub const fn difference(self, other: Self) -> Self
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
.
Sourcepub const fn symmetric_difference(self, other: Self) -> Self
pub const fn symmetric_difference(self, other: Self) -> Self
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
.
Sourcepub const fn complement(self) -> Self
pub const fn complement(self) -> Self
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§
Source§impl BitAndAssign for CFlag
impl BitAndAssign for CFlag
Source§fn bitand_assign(&mut self, other: Self)
fn bitand_assign(&mut self, other: Self)
Disables all flags disabled in the set.
Source§impl BitOrAssign for CFlag
impl BitOrAssign for CFlag
Source§fn bitor_assign(&mut self, other: Self)
fn bitor_assign(&mut self, other: Self)
Adds the set of flags.
Source§impl BitXorAssign for CFlag
impl BitXorAssign for CFlag
Source§fn bitxor_assign(&mut self, other: Self)
fn bitxor_assign(&mut self, other: Self)
Toggles the set of flags.
Source§impl Extend<CFlag> for CFlag
impl Extend<CFlag> for CFlag
Source§fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
fn extend<T: IntoIterator<Item = Self>>(&mut self, iterator: T)
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
)Source§impl FromIterator<CFlag> for CFlag
impl FromIterator<CFlag> for CFlag
Source§fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
fn from_iter<T: IntoIterator<Item = Self>>(iterator: T) -> Self
Source§impl Ord for CFlag
impl Ord for CFlag
Source§impl PartialOrd for CFlag
impl PartialOrd for CFlag
Source§impl SubAssign for CFlag
impl SubAssign for CFlag
Source§fn sub_assign(&mut self, other: Self)
fn sub_assign(&mut self, other: Self)
Disables all flags enabled in the set.