use super::QueryBuilder;
use crate::core::state::Initial;
pub trait Queryable<T> {
fn into_query(self) -> QueryBuilder<T, Initial>;
}
impl<T: 'static> Queryable<T> for Vec<T> {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}
impl<T: Clone + 'static> Queryable<T> for &[T] {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self.to_vec())
}
}
impl<T: 'static, const N: usize> Queryable<T> for [T; N] {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}
impl<T: 'static> Queryable<T> for std::collections::HashSet<T> {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}
impl<T: 'static> Queryable<T> for std::collections::BTreeSet<T> {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}
impl<T: 'static> Queryable<T> for std::collections::LinkedList<T> {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}
impl<T: 'static> Queryable<T> for std::collections::VecDeque<T> {
#[inline]
fn into_query(self) -> QueryBuilder<T, Initial> {
QueryBuilder::from(self)
}
}