pub use self::error::*;
pub use self::index::*;
use crate::internal;
mod error;
mod index;
pub struct Row(pub(crate) internal::row::Impl);
impl Row {
pub fn get<'r, 'i, T>(&'r self, index: impl Into<RowIndex<'i>>) -> Result<T, RowError<'i>>
where
T: Decode<'r>,
{
internal::row::get(self, index.into())
}
}
pub trait Decode<'r>: internal::any::AnyType + internal::any::AnyDecode<'r> {}
impl<'r, T: internal::any::AnyType + internal::any::AnyDecode<'r>> Decode<'r> for T {}
pub trait DecodeOwned: for<'r> Decode<'r> {}
impl<T: for<'r> Decode<'r>> DecodeOwned for T {}