lsm_tree/any_tree.rs
// Copyright (c) 2024-present, fjall-rs
// This source code is licensed under both the Apache 2.0 and MIT License
// (found in the LICENSE-* files in the repository)
use crate::{BlobTree, Tree};
use enum_dispatch::enum_dispatch;
/// May be a standard [`Tree`] or a [`BlobTree`]
#[derive(Clone)]
#[enum_dispatch(AbstractTree)]
pub enum AnyTree {
/// Standard LSM-tree, see [`Tree`]
Standard(Tree),
/// Key-value separated LSM-tree, see [`BlobTree`]
Blob(BlobTree),
}