#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
#[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum UpdateOp {
IncrementPost,
IncrementPre,
DecrementPost,
DecrementPre,
}
impl UpdateOp {
const fn as_str(self) -> &'static str {
match self {
Self::IncrementPost | Self::IncrementPre => "++",
Self::DecrementPost | Self::DecrementPre => "--",
}
}
}
impl std::fmt::Display for UpdateOp {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.as_str())
}
}