1#[macro_export]
6macro_rules! secure {
7 ([u8; $N:literal], $expr:expr $(,)?) => {
8 $crate::Fixed::new($expr)
9 };
10 ($ty:ty, $expr:expr $(,)?) => {
11 $crate::Fixed::<$ty>::new($expr)
12 };
13 (String, $expr:expr $(,)?) => {
14 $crate::Dynamic::new($expr)
15 };
16 (Vec<u8>, $expr:expr $(,)?) => {
17 $crate::Dynamic::new($expr)
18 };
19 (heap $ty:ty, $expr:expr $(,)?) => {
20 $crate::Dynamic::new($expr)
21 };
22}
23
24#[macro_export]
26macro_rules! secure_zeroizing {
27 ($ty:ty, $expr:expr $(,)?) => {
28 $crate::FixedZeroizing::new($expr)
29 };
30 (heap $ty:ty, $expr:expr $(,)?) => {
31 $crate::DynamicZeroizing::new($expr)
32 };
33}
34
35#[macro_export]
40macro_rules! fixed_alias {
41 ($name:ident, $size:literal) => {
42 pub type $name = $crate::Fixed<[u8; $size]>;
44 };
45}
46
47#[macro_export]
51macro_rules! dynamic_alias {
52 ($name:ident, $ty:ty) => {
53 pub type $name = $crate::Dynamic<$ty>;
54 };
55}