postscript/compact1/index/
dictionaries.rs1use std::io::Cursor;
2
3use crate::compact1::Operations;
4use crate::tape::Read;
5use crate::{Error, Result};
6
7index! {
8 pub Dictionaries
10}
11
12impl Dictionaries {
13 #[inline]
15 pub fn get(&self, index: usize) -> Result<Operations> {
16 debug_assert!(index < self.len());
17 Cursor::new(&self[index]).take()
18 }
19}
20
21impl TryFrom<&Dictionaries> for Vec<Operations> {
22 type Error = Error;
23
24 fn try_from(dictionatires: &Dictionaries) -> Result<Self> {
25 let mut values = Vec::with_capacity(dictionatires.len());
26 for index in 0..dictionatires.len() {
27 values.push(Dictionaries::get(dictionatires, index)?);
28 }
29 Ok(values)
30 }
31}