use std::marker::PhantomData;
pub struct CipherText<Version, Purpose> {
pub(crate) ciphertext: Vec<u8>,
pub(crate) version: PhantomData<Version>,
pub(crate) purpose: PhantomData<Purpose>,
}
impl<Version, Purpose> AsRef<Vec<u8>> for CipherText<Version, Purpose> {
fn as_ref(&self) -> &Vec<u8> {
&self.ciphertext
}
}
impl<Version, Purpose> std::ops::Deref for CipherText<Version, Purpose> {
type Target = Vec<u8>;
fn deref(&self) -> &Self::Target {
&self.ciphertext
}
}