use super::SerializationError;
pub trait DbvFactory: Sized {
type DBV;
fn serialize_bool(&self, value: bool) -> Result<Self::DBV, SerializationError>;
fn serialize_i8(&self, value: i8) -> Result<Self::DBV, SerializationError>;
fn serialize_i16(&self, value: i16) -> Result<Self::DBV, SerializationError>;
fn serialize_i32(&self, value: i32) -> Result<Self::DBV, SerializationError>;
fn serialize_i64(&self, value: i64) -> Result<Self::DBV, SerializationError>;
fn serialize_u8(&self, value: u8) -> Result<Self::DBV, SerializationError>;
fn serialize_u16(&self, value: u16) -> Result<Self::DBV, SerializationError>;
fn serialize_u32(&self, value: u32) -> Result<Self::DBV, SerializationError>;
fn serialize_u64(&self, value: u64) -> Result<Self::DBV, SerializationError>;
fn serialize_f32(&self, value: f32) -> Result<Self::DBV, SerializationError>;
fn serialize_f64(&self, value: f64) -> Result<Self::DBV, SerializationError>;
fn serialize_char(&self, value: char) -> Result<Self::DBV, SerializationError>;
fn serialize_str(&self, value: &str) -> Result<Self::DBV, SerializationError>;
fn serialize_bytes(&self, value: &[u8]) -> Result<Self::DBV, SerializationError>;
fn serialize_none(&self) -> Result<Self::DBV, SerializationError>;
fn descriptor(&self) -> String;
}