saa_common/
macros.rs

1#[macro_export]
2macro_rules! ensure {
3    ($cond:expr, $e:expr) => {
4        if !($cond) {
5            return Err(core::convert::From::from($e));
6        }
7    };
8}
9
10
11#[macro_export]
12macro_rules! mod_use {
13    ($modname:ident) => {
14        mod $modname;
15        pub use $modname::*;
16    };
17}
18
19
20#[macro_export]
21macro_rules! cfg_mod_use {
22    ($feature:literal, $modname:ident) => {
23        #[cfg(feature = $feature)]
24        mod $modname;
25        #[cfg(feature = $feature)]
26        pub use $modname::*;
27    };
28}
29
30
31#[macro_export]
32macro_rules! cfg_mod_pub {
33    ($feature:literal, $modname:ident) => {
34        #[cfg(feature = $feature)]
35        pub mod $modname;
36        #[cfg(not(feature = $feature))]
37        mod $modname;
38    };
39}