INNER CODE UNIT · Rust

initial_range

gfx-rs/gfx · src/auxil/range-alloc/src/lib.rs:41

    pub fn initial_range(&self) -> &Range<T> {
        &self.initial_range
    }

    pub fn allocate_range(&mut self, length: T) -> Result<Range<T>, RangeAllocationError<T>> {
        assert_ne!(length + length, length);
        let mut best_fit: Option<(usize, Range<T>)> = None;
        let mut fragmented_free_length = length - length;
        for (index, range) in self.free_ranges.iter().cloned().enumerate() {
            let range_length = range.end - range.start;
            fragmented_free_length += range_length;
            if range_length < length {
                continue;
            } else if range_length == length {
                // Found a perfect fit, so stop looking.
                best_fit = Some((index, range));
                break;
            }

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…