aboutsummaryrefslogtreecommitdiff
path: root/common/object/src/value.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2026-01-06 19:10:37 +0100
committermetamuffin <metamuffin@disroot.org>2026-01-06 19:10:37 +0100
commitffa6b5c4ae2cdd3e07426ed0330f3f66e90ee57b (patch)
tree79a03bc7ed938a3698ece0878f0ce5337ff6db23 /common/object/src/value.rs
parentffbdb9ce397a6408d5a91cbdcbaf4e13b0c3ba0b (diff)
downloadjellything-ffa6b5c4ae2cdd3e07426ed0330f3f66e90ee57b.tar
jellything-ffa6b5c4ae2cdd3e07426ed0330f3f66e90ee57b.tar.bz2
jellything-ffa6b5c4ae2cdd3e07426ed0330f3f66e90ee57b.tar.zst
tag registry
Diffstat (limited to 'common/object/src/value.rs')
-rw-r--r--common/object/src/value.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/common/object/src/value.rs b/common/object/src/value.rs
index d77d53a..1b24e79 100644
--- a/common/object/src/value.rs
+++ b/common/object/src/value.rs
@@ -107,3 +107,37 @@ impl ValueStore for ObjectBuffer {
self.0.len() * 4
}
}
+impl<'a> Value<'a> for &'a [u8] {
+ const ALIGNED: bool = false;
+ fn load_unaligned(buf: &'a [u8]) -> Option<Self> {
+ Some(buf)
+ }
+}
+impl ValueStore for &[u8] {
+ fn is_aligned(&self) -> bool {
+ false
+ }
+ fn store_unaligned(&self, buf: &mut Vec<u8>) {
+ buf.extend(*self);
+ }
+ fn size(&self) -> usize {
+ self.len()
+ }
+}
+impl<'a> Value<'a> for &'a [u32] {
+ const ALIGNED: bool = true;
+ fn load_aligned(buf: &'a [u32]) -> Option<Self> {
+ Some(buf)
+ }
+}
+impl ValueStore for &[u32] {
+ fn is_aligned(&self) -> bool {
+ true
+ }
+ fn store_aligned(&self, buf: &mut Vec<u32>) {
+ buf.extend(*self);
+ }
+ fn size(&self) -> usize {
+ self.len() * 4
+ }
+}