#![deny(missing_docs)]
#[macro_use]
pub mod address;
pub use address::{Address, AddressValue};
pub mod bytes;
pub use bytes::{ByteValued, Bytes};
pub mod endian;
pub use endian::{Be16, Be32, Be64, BeSize, Le16, Le32, Le64, LeSize};
pub mod guest_memory;
pub use guest_memory::{
Error as GuestMemoryError, FileOffset, GuestAddress, GuestAddressSpace, GuestMemory,
GuestMemoryRegion, GuestUsize, MemoryRegionAddress, Result as GuestMemoryResult,
};
#[cfg(all(feature = "backend-mmap", unix))]
mod mmap_unix;
#[cfg(all(feature = "backend-mmap", windows))]
mod mmap_windows;
#[cfg(feature = "backend-mmap")]
pub mod mmap;
#[cfg(feature = "backend-mmap")]
pub use mmap::{Error, GuestMemoryMmap, GuestRegionMmap, MmapRegion};
#[cfg(feature = "backend-atomic")]
pub mod atomic;
#[cfg(feature = "backend-atomic")]
pub use atomic::{GuestMemoryAtomic, GuestMemoryLoadGuard};
pub mod volatile_memory;
pub use volatile_memory::{
AtomicValued, Error as VolatileMemoryError, Result as VolatileMemoryResult, VolatileArrayRef,
VolatileMemory, VolatileRef, VolatileSlice,
};