#![warn(missing_docs)]
use std::{error::Error, sync::Arc};
use thiserror::Error;
pub mod batch;
pub mod raw_batch;
pub mod row;
pub mod value;
pub mod writers;
pub use writers::{CellValueBuilder, CellWriter, RowWriter};
#[derive(Debug, Clone, Error)]
#[error("SerializationError: {0}")]
pub struct SerializationError(Arc<dyn Error + Send + Sync>);
impl SerializationError {
        #[inline]
    pub fn new(err: impl Error + Send + Sync + 'static) -> SerializationError {
        SerializationError(Arc::new(err))
    }
        pub fn downcast_ref<T: Error + 'static>(&self) -> Option<&T> {
        self.0.downcast_ref()
    }
}