#![doc(hidden)]
#[cfg(feature = "asm")]
use crate::Component;
#[cfg(feature = "asm")]
use crate::grid::r#trait::Grid;
#[macro_use]
mod funcs;
#[cfg(all(feature = "asm", target_arch = "arm"))]
mod arm;
#[cfg(all(feature = "asm", target_arch = "arm"))]
pub use self::arm::*;
#[cfg(all(feature = "asm", target_arch = "aarch64"))]
mod aarch64;
#[cfg(all(feature = "asm", target_arch = "aarch64"))]
pub use self::aarch64::*;
#[cfg(all(feature = "asm", target_arch = "riscv32"))]
mod riscv32;
#[cfg(all(feature = "asm", target_arch = "riscv32"))]
pub use self::riscv32::*;
#[cfg(all(feature = "asm", target_arch = "riscv64"))]
mod riscv64;
#[cfg(all(feature = "asm", target_arch = "riscv64"))]
pub use self::riscv64::*;
#[cfg(all(feature = "asm", target_arch = "x86"))]
mod x86;
#[cfg(all(feature = "asm", target_arch = "x86"))]
pub use self::x86::*;
#[cfg(all(feature = "asm", target_arch = "x86_64"))]
mod x86_64;
#[cfg(all(feature = "asm", target_arch = "x86_64"))]
pub use self::x86_64::*;
#[cfg(feature = "asm")]
pub mod grid;
#[cfg(feature = "asm")]
pub mod windows;
#[cfg(feature = "asm")]
pub trait AsComponent {
fn as_component(&self) -> Option<&dyn Component>;
}
#[cfg(not(feature = "asm"))]
pub trait AsComponent { }
#[cfg(feature = "asm")]
pub trait AsGrid {
fn as_grid(&self) -> Option<&dyn Grid>;
}
#[cfg(not(feature = "asm"))]
pub trait AsGrid { }