fst_writer/
lib.rs

1// Copyright 2024 Cornell University
2// released under BSD 3-Clause License
3// author: Kevin Laeufer <laeufer@cornell.edu>
4
5mod buffer;
6mod io;
7mod types;
8mod writer;
9
10type Result<T> = std::result::Result<T, FstWriteError>;
11
12#[derive(Debug, thiserror::Error)]
13pub enum FstWriteError {
14    #[error("I/O operation failed")]
15    Io(#[from] std::io::Error),
16    #[error("The string is too large (max length: {0}): {1}")]
17    StringTooLong(usize, String),
18    #[error("Cannot change the time from {0} to {1}. Time must always increase!")]
19    TimeDecrease(u64, u64),
20    #[error("Invalid signal id: {0:?}")]
21    InvalidSignalId(FstSignalId),
22    #[error("Invalid bit-vector signal character: {0}")]
23    InvalidCharacter(char),
24}
25
26pub use types::*;
27pub use writer::{FstBodyWriter, FstHeaderWriter, open_fst};