hailstorm/simulation/rune/types/
vec.rs

1use crate::simulation::rune::types::value::OwnedValue;
2use std::vec;
3
4pub struct OwnedVec {
5    inner: Vec<OwnedValue>,
6}
7
8impl std::iter::FromIterator<OwnedValue> for OwnedVec {
9    fn from_iter<T: IntoIterator<Item = OwnedValue>>(src: T) -> Self {
10        Self {
11            inner: src.into_iter().collect(),
12        }
13    }
14}
15
16impl IntoIterator for OwnedVec {
17    type Item = OwnedValue;
18    type IntoIter = vec::IntoIter<OwnedValue>;
19
20    /// Creates a consuming iterator, that is, one that moves each key-value
21    /// pair out of the object in arbitrary order. The object cannot be used
22    /// after calling this.
23    fn into_iter(self) -> Self::IntoIter {
24        self.inner.into_iter()
25    }
26}