qubit-fs 0.2.0

Provider-neutral synchronous and asynchronous filesystem abstraction for Rust
Documentation
// =============================================================================
//    Copyright (c) 2026 Haixing Hu.
//
//    SPDX-License-Identifier: Apache-2.0
//
//    Licensed under the Apache License, Version 2.0.
// =============================================================================
//! Path semantics exposed by filesystem implementations.

/// Provider path semantics.
///
/// # Examples
///
/// ```rust
/// use qubit_fs::path::PathSemantics;
///
/// assert_eq!(PathSemantics::Hierarchical, PathSemantics::default());
/// ```
#[derive(Clone, Copy, Debug, Eq, Hash, PartialEq)]
pub enum PathSemantics {
    /// Hierarchical directory semantics.
    Hierarchical,
    /// Object-key or prefix semantics.
    ObjectKey,
    /// Provider-specific semantics.
    ProviderSpecific,
}

impl Default for PathSemantics {
    /// Uses hierarchical path semantics by default.
    #[inline]
    fn default() -> Self {
        Self::Hierarchical
    }
}