#![forbid(unsafe_code)]
use crate::auto::{Backend, EncodePathClass};
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum EncodeUnavailable {
NotImplemented,
NoDevice,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub enum EncodeSupport {
Supported(EncodePathClass),
Unavailable(EncodeUnavailable),
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
#[non_exhaustive]
pub struct EncoderCapability {
pub backend: Backend,
pub support: EncodeSupport,
}
impl EncoderCapability {
#[must_use]
pub const fn new(backend: Backend, support: EncodeSupport) -> Self {
Self { backend, support }
}
}