use std::fmt::Display;
use crate::dltx::{DLString, DLStringKind, DLUTF16StringKind};
#[repr(C)]
pub struct FD4BasicHashString<T: DLStringKind = DLUTF16StringKind> {
vftable: usize,
pub inner: DLString<T>,
pub hash: u32,
pub needs_hashing: bool,
}
impl<T: DLStringKind> AsRef<DLString<T>> for FD4BasicHashString<T> {
fn as_ref(&self) -> &DLString<T> {
&self.inner
}
}
impl<T: DLStringKind> Display for FD4BasicHashString<T> {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
self.inner.fmt(f)
}
}
#[cfg(test)]
mod test {
use crate::fd4::FD4BasicHashString;
#[test]
fn proper_sizes() {
assert_eq!(0x40, size_of::<FD4BasicHashString>());
}
}