pub struct ParameterBuilder<'a, T: ParameterVariant> { /* private fields */ }Expand description
Builder for declaring a typed parameter
Implementations§
Source§impl<'a, T: ParameterVariant> ParameterBuilder<'a, T>
impl<'a, T: ParameterVariant> ParameterBuilder<'a, T>
Sourcepub fn new(server: &'a mut ParameterServer, name: &'a str) -> Self
pub fn new(server: &'a mut ParameterServer, name: &'a str) -> Self
Create a new parameter builder
Sourcepub fn description(self, desc: &'a str) -> Self
pub fn description(self, desc: &'a str) -> Self
Set a human-readable description for the parameter
Sourcepub fn integer_range(
self,
min: i64,
max: i64,
step: i64,
) -> Result<Self, ParameterError>
pub fn integer_range( self, min: i64, max: i64, step: i64, ) -> Result<Self, ParameterError>
Set integer range constraints for the parameter
Sourcepub fn float_range(
self,
min: f64,
max: f64,
step: f64,
) -> Result<Self, ParameterError>
pub fn float_range( self, min: f64, max: f64, step: f64, ) -> Result<Self, ParameterError>
Set floating point range constraints for the parameter
Sourcepub fn range(self, range: RangeInclusive<T>) -> Result<Self, ParameterError>where
T: RangeConvertible,
pub fn range(self, range: RangeInclusive<T>) -> Result<Self, ParameterError>where
T: RangeConvertible,
Set range constraints using an inclusive range
This is a convenience method that works with RangeInclusive:
- For
i64parameters:range(0..=100)sets an integer range with step 1 - For
f64parameters:range(0.0..=1.0)sets a floating point range with step 0.0
For more control (e.g., custom step), use integer_range() or float_range().
Sourcepub fn read_only(self) -> Result<ReadOnlyParameter<'a, T>, ParameterError>
pub fn read_only(self) -> Result<ReadOnlyParameter<'a, T>, ParameterError>
Declare a read-only parameter
Read-only parameters cannot be changed after declaration. A default value must be provided.
Sourcepub fn mandatory(self) -> Result<MandatoryParameter<'a, T>, ParameterError>
pub fn mandatory(self) -> Result<MandatoryParameter<'a, T>, ParameterError>
Declare a mandatory parameter
If no default value is provided, it must be set externally before use.
Sourcepub fn optional(self) -> Result<OptionalParameter<'a, T>, ParameterError>
pub fn optional(self) -> Result<OptionalParameter<'a, T>, ParameterError>
Declare an optional parameter
Auto Trait Implementations§
impl<'a, T> Freeze for ParameterBuilder<'a, T>where
T: Freeze,
impl<'a, T> RefUnwindSafe for ParameterBuilder<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for ParameterBuilder<'a, T>where
T: Send,
impl<'a, T> Sync for ParameterBuilder<'a, T>where
T: Sync,
impl<'a, T> Unpin for ParameterBuilder<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for ParameterBuilder<'a, T>where
T: UnsafeUnpin,
impl<'a, T> !UnwindSafe for ParameterBuilder<'a, T>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more