1use crate::types::InitElement;
4use std::ops::Deref;
5
6#[derive(Debug, Clone, PartialEq)]
11pub struct InitElements(Vec<InitElement>);
12
13impl InitElements {
14 pub const fn new(iter: Vec<InitElement>) -> Self {
15 Self(iter)
16 }
17
18 pub fn values(&self) -> &[InitElement] {
20 self.0.as_slice()
21 }
22}
23
24impl Deref for InitElements {
25 type Target = [InitElement];
26
27 fn deref(&self) -> &Self::Target {
28 self.0.as_slice()
29 }
30}
31
32impl FromIterator<InitElement> for InitElements {
33 fn from_iter<T: IntoIterator<Item = InitElement>>(iter: T) -> Self {
34 InitElements::new(iter.into_iter().collect())
35 }
36}