//! Abstractions for page tables and other paging related structures.
//!
//! Page tables translate virtual memory “pages” to physical memory “frames”.

pub use self::frame::PhysFrame;
pub use self::frame_alloc::{FrameAllocator, FrameDeallocator};
#[cfg(target_arch = "x86_64")]
pub use self::mapper::RecursivePageTable;
pub use self::mapper::{MappedPageTable, Mapper, MapperAllSizes};
pub use self::page::{Page, PageSize, Size1GiB, Size2MiB, Size4KiB};
pub use self::page_table::{PageTable, PageTableFlags};

pub mod frame;
mod frame_alloc;
pub mod mapper;
pub mod page;
pub mod page_table;

//! Abstractions for page tables and other paging related structures.
//!
//! Page tables translate virtual memory “pages” to physical memory “frames”.

pub use self::frame::PhysFrame;
pub use self::frame_alloc::{FrameAllocator, FrameDeallocator};
#[cfg(target_arch = "x86_64")]
#[doc(no_inline)]
pub use self::mapper::{MappedPageTable, RecursivePageTable};
pub use self::mapper::{Mapper, MapperAllSizes};
pub use self::page::{Page, PageSize, Size1GiB, Size2MiB, Size4KiB};
pub use self::page_table::{PageTable, PageTableFlags};

pub mod frame;
mod frame_alloc;
pub mod mapper;
pub mod page;
pub mod page_table;

Mark paging::{MappedPageTable, RecursivePageTable} re-exports as doc(no_inline)
Mark paging::{MappedPageTable, RecursivePageTable} re-exports as doc(no_inline)

Without the attribute the structs don't show up in the reexports section because their original definition is inside a private module. See https://doc.rust-lang.org/rustdoc/the-doc-attribute.html#docno_inlinedocinline
