docx_reader/documents/
toc_key.rs

1use std::sync::atomic::AtomicUsize;
2
3static TOC_KEY: AtomicUsize = AtomicUsize::new(0);
4
5pub trait TocKeyGenerator {
6	fn generate() -> String {
7		use std::sync::atomic::Ordering;
8
9		let id = TOC_KEY.load(Ordering::Relaxed);
10		TOC_KEY.store(id + 1, Ordering::Relaxed);
11		format!("_Toc{:08}", id)
12	}
13}
14
15pub struct TocKey {}
16
17impl TocKeyGenerator for TocKey {}