use num_enum::IntoPrimitive;
use std::fmt;
#[derive(Clone, Copy, Debug, Eq, PartialEq, IntoPrimitive)]
#[repr(i32)]
#[non_exhaustive]
pub(crate) enum LBAAlign {
Down = libfdisk::FDISK_ALIGN_DOWN,
Nearest = libfdisk::FDISK_ALIGN_NEAREST,
Up = libfdisk::FDISK_ALIGN_UP,
}
impl LBAAlign {
pub fn as_str(&self) -> &str {
match self {
Self::Down => "down",
Self::Nearest => "nearest",
Self::Up => "up",
}
}
}
impl AsRef<LBAAlign> for LBAAlign {
#[inline]
fn as_ref(&self) -> &LBAAlign {
self
}
}
impl fmt::Display for LBAAlign {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.as_str())
}
}