diff options
Diffstat (limited to 'log_db/src/record.rs')
| -rw-r--r-- | log_db/src/record.rs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/log_db/src/record.rs b/log_db/src/record.rs new file mode 100644 index 0000000..b349853 --- /dev/null +++ b/log_db/src/record.rs @@ -0,0 +1,38 @@ +use super::*; + +pub struct Record { + values: Vec<Value>, +} + +impl Record { + pub fn values(&self) -> &[Value] { + &self.values + } +} + +impl IntoIterator for Record { + type Item = Value; + type IntoIter = std::vec::IntoIter<Self::Item>; + + fn into_iter(self) -> Self::IntoIter { + self.values.into_iter() + } +} + +impl From<Vec<Value>> for Record { + fn from(values: Vec<Value>) -> Self { + Record { values } + } +} + +impl From<Record> for Vec<Value> { + fn from(record: Record) -> Self { + record.values + } +} + +impl From<Row> for Record { + fn from(row: Row) -> Self { + Record { values: row.values } + } +} |
