entdb 0.2.0

Rust-based SQL database engine core for EntDB.
Documentation
/*
 * Copyright 2026 EntDB Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

use crate::storage::tuple::TupleId;

pub struct BTreeIterator {
    data: Vec<(Vec<u8>, TupleId)>,
    idx: usize,
}

impl BTreeIterator {
    pub fn new(data: Vec<(Vec<u8>, TupleId)>) -> Self {
        Self { data, idx: 0 }
    }
}

impl Iterator for BTreeIterator {
    type Item = (Vec<u8>, TupleId);

    fn next(&mut self) -> Option<Self::Item> {
        if self.idx >= self.data.len() {
            return None;
        }
        let item = self.data[self.idx].clone();
        self.idx += 1;
        Some(item)
    }
}