use std::ops::{Deref, DerefMut};
use rdf_utils::model::{dataset::EcoDataset, quad::ArcQuad};
use sophia_api::prelude::Dataset;
#[derive(Debug, Clone, Default)]
pub struct QuadsInmem<D: Dataset>(pub D);
impl<D: Dataset> QuadsInmem<D> {
#[inline]
pub fn new(dataset: D) -> Self {
Self(dataset)
}
#[inline]
pub fn into_inner(self) -> D {
self.0
}
}
impl<D: Dataset> Deref for QuadsInmem<D> {
type Target = D;
#[inline]
fn deref(&self) -> &Self::Target {
&self.0
}
}
impl<D: Dataset> DerefMut for QuadsInmem<D> {
#[inline]
fn deref_mut(&mut self) -> &mut Self::Target {
&mut self.0
}
}
pub type EcoQuadsInmem = QuadsInmem<EcoDataset<ArcQuad>>;