fn usable_frames(&self) -> impl Iterator<Item = PhysFrame> {
        // get usable regions from memory map
        let usable_regions = self
            .memory_regions
            .iter()
            .filter(|region| region.kind == MemoryRegionKind::Usable);
        // map each region to its address range
        let addr_ranges = usable_regions.map(|region| region.start..region.end);
        // transform to an iterator of frame start addresses
        let frame_addresses = addr_ranges.flat_map(|region| region.step_by(kb!(4)));
        // create `PhysFrame` types from the start addresses
        frame_addresses.map(|addr| PhysFrame::containing_address(PhysAddr::new(addr)))
    }
/// Returns an iterator over the usable frames specified in the memory map.
Returns an iterator over the usable frames specified in the memory map.
Returns an iterator over the usable frames specified in the memory map .
fn usable_frames(&self) -> impl Iterator<Item = PhysFrame> {
        // get usable regions from memory map
        let usable_regions = self
            .memory_regions
            .iter()
            .filter(|region| region.kind == MemoryRegionKind::Usable);
        // map each region to its address range
        let addr_ranges = usable_regions.map(|region| region.start..region.end);
        // transform to an iterator of frame start addresses
        let frame_addresses = addr_ranges.flat_map(|region| region.step_by(kb!(4)));
        // create `PhysFrame` types from the start addresses
        frame_addresses.map(|addr| PhysFrame::containing_address(PhysAddr::new(addr)))
    }
fn usable_frames ( & self ) -> impl Iterator < Item = PhysFrame > { // get usable regions from memory map let usable_regions = self . memory_regions . iter ( ) . filter ( | region | region . kind == MemoryRegionKind :: Usable ) ; // map each region to its address range let addr_ranges = usable_regions . map ( | region | region . start .. region . end ) ; // transform to an iterator of frame start addresses let frame_addresses = addr_ranges . flat_map ( | region | region . step_by ( kb ! ( 4 ) ) ) ; // create `PhysFrame` types from the start addresses frame_addresses . map ( | addr | PhysFrame :: containing_address ( PhysAddr :: new ( addr ) ) ) }
Returns an iterator over the usable frames specified in the memory map.
Returns an iterator over the usable frames specified in the memory map .
&self
&self