dicom_core/dictionary/
stub.rs

1//! This module contains a stub dictionary.
2
3use super::{DataDictionary, DataDictionaryEntryRef};
4use crate::header::Tag;
5
6/// An empty attribute dictionary.
7#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Hash, PartialOrd, Ord)]
8pub struct StubDataDictionary;
9
10impl DataDictionary for StubDataDictionary {
11    type Entry = DataDictionaryEntryRef<'static>;
12    fn by_name(&self, _: &str) -> Option<&DataDictionaryEntryRef<'static>> {
13        None
14    }
15
16    fn by_tag(&self, _: Tag) -> Option<&DataDictionaryEntryRef<'static>> {
17        None
18    }
19}
20
21impl<'a> DataDictionary for &'a StubDataDictionary {
22    type Entry = DataDictionaryEntryRef<'static>;
23    fn by_name(&self, _: &str) -> Option<&DataDictionaryEntryRef<'static>> {
24        None
25    }
26
27    fn by_tag(&self, _: Tag) -> Option<&DataDictionaryEntryRef<'static>> {
28        None
29    }
30}
31
32impl DataDictionary for Box<StubDataDictionary> {
33    type Entry = DataDictionaryEntryRef<'static>;
34    fn by_name(&self, _: &str) -> Option<&DataDictionaryEntryRef<'static>> {
35        None
36    }
37
38    fn by_tag(&self, _: Tag) -> Option<&DataDictionaryEntryRef<'static>> {
39        None
40    }
41}