changeset 64:33f3fcc22c02

Add constructor for MultiRecord
author Lewin Bormann <lbo@spheniscida.de>
date Sat, 06 Feb 2016 00:07:47 +0000
parents 10e3e2efbc57
children 07095d20ba5c
files src/record_types.rs
diffstat 1 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/record_types.rs	Sat Feb 06 00:07:26 2016 +0000
+++ b/src/record_types.rs	Sat Feb 06 00:07:47 2016 +0000
@@ -30,10 +30,16 @@
 /// Can be easily iterated over, e.g. in a `for` loop.
 pub struct MultiRecord {
     key: String,
-    value: Box<Iterator<Item = String>>,
+    values: Vec<String>,
 }
 
 impl MultiRecord {
+    pub fn new(key: String, values: Vec<String>) -> MultiRecord {
+        MultiRecord {
+            key: key,
+            values: values,
+        }
+    }
     /// Retrieves the key of the record.
     pub fn key<'a>(&'a self) -> &'a String {
         &self.key
@@ -52,12 +58,14 @@
     }
 }
 
+use std::vec;
+
 impl IntoIterator for MultiRecord {
     type Item = String;
-    type IntoIter = Box<Iterator<Item=String>>;
+    type IntoIter = vec::IntoIter<String>;
     /// Allows iterating over all the values.
     fn into_iter(self) -> Self::IntoIter {
-        self.value
+        self.values.into_iter()
     }
 }