qubit-codec 0.5.0

Core codec traits and buffer conversion primitives for Rust
Documentation
/*******************************************************************************
 *
 *    Copyright (c) 2026 Haixing Hu.
 *
 *    SPDX-License-Identifier: Apache-2.0
 *
 *    Licensed under the Apache License, Version 2.0.
 *
 ******************************************************************************/
//! Result type for converter steps that may stop with public progress.

use super::{
    convert_error_of::ConvertErrorOf,
    transcode_progress::TranscodeProgress,
};

/// Result type for converter steps that may stop with public progress.
///
/// # Type Parameters
///
/// - `D`: Source codec.
/// - `E`: Target codec.
/// - `H`: Converter hook set.
///
/// # Returns
///
/// Returns:
/// - `Ok(Some(progress))` when the converter should propagate public progress,
/// - `Ok(None)` when the current call can continue,
/// - `Err(...)` when an error halts conversion.
pub(super) type ConvertStepResult<D, E, H> = Result<Option<TranscodeProgress>, ConvertErrorOf<D, E, H>>;