pub mod buffer_pool;
pub mod compact_arc;
pub mod compact_vec;
pub mod cow_btree;
pub mod cow_hashmap;
pub mod i64_map;
pub mod maps;
pub mod smart_string;
pub mod time_compat;
pub mod version;
pub use buffer_pool::{BufferPool, PoolStats};
pub use compact_arc::{CompactArc, CompactArcDrop};
pub use compact_vec::CompactVec;
pub use cow_btree::CowBTree;
pub use cow_hashmap::CowHashMap;
pub use i64_map::{I64Map, I64Set};
pub use maps::{
new_cow_btree_map, new_i64_map, new_i64_map_with_capacity, CowBTreeMap, StringMap, StringSet,
};
pub use smart_string::SmartString;
pub use version::{version, version_info, SemVer, BUILD_TIME, GIT_COMMIT, MAJOR, MINOR, PATCH};
#[cfg(test)]
mod integration_tests {
use super::*;
#[test]
fn test_buffer_pool_with_i64_map() {
let pool = BufferPool::new(1024, 4096, "test");
let map: I64Map<Vec<u8>> = new_i64_map();
let mut buf = pool.get();
buf.extend_from_slice(b"test data");
let mut map = map;
map.insert(1, buf);
assert!(map.contains_key(1));
assert_eq!(map.get(1).unwrap(), b"test data");
}
#[test]
fn test_version_constants() {
let v = version();
assert!(!v.is_empty());
let info = version_info();
assert!(info.contains("stoolap"));
}
}