pub(crate) const EMPTY_MACRO_SLOT: u32 = u32::MAX;
pub(crate) const MACRO_TABLE_SLOTS: u32 = 4_096;
pub(crate) const MACRO_TABLE_MASK: u32 = MACRO_TABLE_SLOTS - 1;
pub const C_MACRO_KIND_OBJECT_LIKE: u32 = 0;
pub const C_MACRO_KIND_FUNCTION_LIKE: u32 = 1;
pub const C_MACRO_REPLACEMENT_LITERAL: u32 = u32::MAX;
mod arg_scan;
mod conditional;
mod dynamic_pass;
mod fnlike;
mod fnlike_mat;
mod helpers;
mod named;
mod named_mat;
mod objlike;
mod objlike_mat;
mod paste_branch;
mod regular_branch;
mod string_branch;
pub use conditional::{opt_conditional_mask, opt_conditional_mask_with_directives};
pub use dynamic_pass::opt_dynamic_macro_expansion;
pub use named::opt_named_macro_expansion;
pub use named_mat::opt_named_macro_expansion_materialized;