pub mod error;
pub mod header;
pub mod pe;
pub mod types;

#[cfg(feature = "memmap2_impl")]
mod third_party {
    use memmap2::{MmapMut, Mmap};
    use crate::pe::{MutablePE, ReadOnlyPE};
    // 为文件映射实现PE结构
    impl ReadOnlyPE for Mmap {}

    impl ReadOnlyPE for MmapMut {}
    // 为可变文件映射实现可操作PE结构
    impl MutablePE for MmapMut {}
}
