docx_rs/documents/
bookmark_id.rs1#[cfg(not(test))]
2use std::sync::atomic::AtomicUsize;
3#[cfg(not(test))]
4static BOOKMARK_ID: AtomicUsize = AtomicUsize::new(1);
5
6#[cfg(not(test))]
7pub fn generate_bookmark_id() -> usize {
8 use std::sync::atomic::Ordering;
9
10 let id = BOOKMARK_ID.load(Ordering::Relaxed);
11 BOOKMARK_ID.store(id.wrapping_add(1), Ordering::Relaxed);
12 id
13}
14
15#[cfg(not(test))]
16pub fn reset_bookmark_id() {
17 use std::sync::atomic::Ordering;
18
19 BOOKMARK_ID.load(Ordering::Relaxed);
20 BOOKMARK_ID.store(1, Ordering::Relaxed);
21}
22
23#[cfg(test)]
24pub fn generate_bookmark_id() -> usize {
25 1
26}
27
28#[cfg(test)]
29pub fn reset_bookmark_id() {
30 }