Implement Readable for Option<T>

This commit is contained in:
Yorhel
2020-06-10 10:39:35 +02:00
parent 77ed3adf7a
commit 5fa6026100
2 changed files with 41 additions and 9 deletions

View File

@@ -297,6 +297,17 @@ impl Readable for Vec<u8> {
}
}
impl<T: Readable> Readable for Option<T> {
#[inline]
fn read(statement: &Statement, i: usize) -> Result<Self> {
if statement.kind(i) == Type::Null {
Ok(None)
} else {
T::read(statement, i).map(Some)
}
}
}
#[inline]
pub fn new<'l, T: AsRef<str>>(raw1: *mut ffi::sqlite3, statement: T) -> Result<Statement<'l>> {
let mut raw0 = 0 as *mut _;