aboutsummaryrefslogtreecommitdiff
path: root/src/primitive/bufferid.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/primitive/bufferid.rs')
-rw-r--r--src/primitive/bufferid.rs16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/primitive/bufferid.rs b/src/primitive/bufferid.rs
index 25cc029..4be867d 100644
--- a/src/primitive/bufferid.rs
+++ b/src/primitive/bufferid.rs
@@ -1,4 +1,4 @@
-#[derive(Copy, Clone, Debug, std::cmp::PartialEq)]
+#[derive(Copy, Clone, Debug, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[repr(transparent)]
pub struct BufferId(pub i32);
@@ -17,6 +17,20 @@ impl Deserialize for BufferId {
}
}
+impl From<i32> for BufferId {
+ fn from(value: i32) -> Self {
+ BufferId(value)
+ }
+}
+
+impl std::ops::Deref for BufferId {
+ type Target = i32;
+
+ fn deref(&self) -> &Self::Target {
+ &self.0
+ }
+}
+
#[cfg(test)]
mod tests {
use super::*;