assembly_data/fdb/file/
lists.rs

1#![allow(clippy::upper_case_acronyms)]
2//! # Vectors of file structs
3//!
4//! This module contains newtype wrappers around vectors of the `file` module.
5
6use super::{FDBBucketHeader, FDBColumnHeader, FDBFieldData, FDBRowHeader, FDBTableHeader};
7
8#[derive(Debug)]
9/// A vector of [`FDBTableHeader`]
10pub struct FDBTableHeaderList(pub Vec<FDBTableHeader>);
11
12#[derive(Debug)]
13/// A vector of [`FDBColumnHeader`]
14pub struct FDBColumnHeaderList(pub Vec<FDBColumnHeader>);
15
16#[derive(Debug)]
17/// A vector of [`FDBBucketHeader`]
18pub struct FDBBucketHeaderList(pub Vec<FDBBucketHeader>);
19
20#[derive(Debug)]
21/// A vector of [`FDBRowHeader`]
22pub struct FDBRowHeaderList(pub Vec<FDBRowHeader>);
23
24#[derive(Debug)]
25/// A vector of [`FDBFieldData`]
26pub struct FDBFieldDataList(pub Vec<FDBFieldData>);
27
28impl From<FDBTableHeaderList> for Vec<FDBTableHeader> {
29    fn from(list: FDBTableHeaderList) -> Self {
30        list.0
31    }
32}
33
34impl From<Vec<FDBTableHeader>> for FDBTableHeaderList {
35    fn from(vec: Vec<FDBTableHeader>) -> Self {
36        FDBTableHeaderList(vec)
37    }
38}
39
40impl From<FDBColumnHeaderList> for Vec<FDBColumnHeader> {
41    fn from(list: FDBColumnHeaderList) -> Self {
42        list.0
43    }
44}
45
46impl From<Vec<FDBColumnHeader>> for FDBColumnHeaderList {
47    fn from(vec: Vec<FDBColumnHeader>) -> Self {
48        FDBColumnHeaderList(vec)
49    }
50}
51
52impl From<FDBBucketHeaderList> for Vec<FDBBucketHeader> {
53    fn from(list: FDBBucketHeaderList) -> Vec<FDBBucketHeader> {
54        list.0
55    }
56}
57
58impl From<Vec<FDBBucketHeader>> for FDBBucketHeaderList {
59    fn from(vec: Vec<FDBBucketHeader>) -> Self {
60        FDBBucketHeaderList(vec)
61    }
62}
63
64impl IntoIterator for FDBBucketHeaderList {
65    type Item = FDBBucketHeader;
66    type IntoIter = std::vec::IntoIter<FDBBucketHeader>;
67
68    fn into_iter(self) -> Self::IntoIter {
69        self.0.into_iter()
70    }
71}
72
73impl From<FDBRowHeaderList> for Vec<FDBRowHeader> {
74    fn from(list: FDBRowHeaderList) -> Vec<FDBRowHeader> {
75        list.0
76    }
77}
78
79impl From<Vec<FDBRowHeader>> for FDBRowHeaderList {
80    fn from(vec: Vec<FDBRowHeader>) -> Self {
81        FDBRowHeaderList(vec)
82    }
83}
84
85impl IntoIterator for FDBRowHeaderList {
86    type Item = FDBRowHeader;
87    type IntoIter = std::vec::IntoIter<FDBRowHeader>;
88
89    fn into_iter(self) -> Self::IntoIter {
90        self.0.into_iter()
91    }
92}
93
94// Implementations FDBFieldDataList
95impl From<FDBFieldDataList> for Vec<FDBFieldData> {
96    fn from(list: FDBFieldDataList) -> Vec<FDBFieldData> {
97        list.0
98    }
99}
100
101impl From<Vec<FDBFieldData>> for FDBFieldDataList {
102    fn from(vec: Vec<FDBFieldData>) -> Self {
103        FDBFieldDataList(vec)
104    }
105}
106
107impl IntoIterator for FDBFieldDataList {
108    type Item = FDBFieldData;
109    type IntoIter = std::vec::IntoIter<FDBFieldData>;
110
111    fn into_iter(self) -> Self::IntoIter {
112        self.0.into_iter()
113    }
114}