1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
//! # nom-pdb //! //! A PDB (Protein Data Bank) file parser implemented with nom. //! //! See [github repository](https://github.com/TianyiShi2001/nom-pdb) for examples. pub mod aux; pub mod common; pub mod complete; pub mod coordinate; pub mod crystallography; pub mod parserbuilder; pub mod primary_structure; pub mod remark; pub mod title_section; pub(crate) mod types; // use std::str::from_utf8_unchecked; // use std::fs::read; // use std::fs::read_to_string; // use std::fs::File; // pub enum Record<'a> { // Header(title_section::header::Header<'a>), // Authors(Vec<&'a str>), // Keywords(Vec<&'a str>), // Cryst1(crystallography::cryst1::Cryst1), // } // use memmap::MmapOptions; // pub unsafe fn apply_file_content_unsafe<F, T>(fp: &str, parser: F) -> Result<T, std::io::Error> // where // F: FnOnce(&str) -> T, // { // let file = File::open(fp)?; // let mmap = MmapOptions::new().map(&file)?; // let data = from_utf8_unchecked(&mmap[..]); // let res = parser(data); // Ok(res) // } // pub fn apply_file_content<F, T>(fp: &str, parser: F) -> Result<T, std::io::Error> // where // F: FnOnce(&str) -> T, // { // let bytes = read(fp)?; // let data = unsafe { from_utf8_unchecked(&bytes) }; // let res = parser(data); // Ok(res) // }