Macro pipewire_wrapper::enum_wrapper
source · macro_rules! enum_wrapper { (@add_enum_variant $name: ident, $enum_variant: ident : $enum_value: expr, $($tts:tt)*) => { ... }; (@add_enum_variant $name: ident, $enum_variant: ident : $enum_value: path, $($tts:tt)*) => { ... }; (@add_enum_variant $name: ident, $(,)*) => { ... }; (@add_debug_variant $self:ident, $f:ident, $enum_variant: ident : $enum_value: path, $($tts:tt)*) => { ... }; (@add_debug_variant $self:ident, $f:ident, $enum_variant: ident : $enum_value: expr, $($tts:tt)*) => { ... }; (@add_debug_variant $self:ident, $f:ident, $(,)*) => { ... }; ($name: ident, $repr_type: ty, $($tts:tt)+) => { ... }; }
Expand description
Wrap the given key: value
pairs to struct with constants.
The following traits will be implemented automatically:
Examples
ⓘ
enum_wrapper!(
PositionState,
spa_sys::spa_io_position_state,
STOPPED: spa_sys::SPA_IO_POSITION_STATE_STOPPED,
STARTING: spa_sys::SPA_IO_POSITION_STATE_STARTING,
RUNNING: spa_sys::SPA_IO_POSITION_STATE_RUNNING,
);
Arguments
name
- struct namerepr_type
- enum discriminator typeenum_variant:enum_value
- enum variant name and discriminator value...