pub struct ParameterBuilder<'a, T>where
T: ParameterVariant,{ /* private fields */ }Expand description
Builder for declaring a typed parameter
Implementations§
Source§impl<'a, T> ParameterBuilder<'a, T>where
T: ParameterVariant,
impl<'a, T> ParameterBuilder<'a, T>where
T: ParameterVariant,
Sourcepub fn new(
server: &'a mut ParameterServer,
name: &'a str,
) -> ParameterBuilder<'a, T>
pub fn new( server: &'a mut ParameterServer, name: &'a str, ) -> ParameterBuilder<'a, T>
Create a new parameter builder
Sourcepub fn default(self, value: T) -> ParameterBuilder<'a, T>
pub fn default(self, value: T) -> ParameterBuilder<'a, T>
Set a default value for the parameter
Sourcepub fn description(self, desc: &'a str) -> ParameterBuilder<'a, T>
pub fn description(self, desc: &'a str) -> ParameterBuilder<'a, T>
Set a human-readable description for the parameter
Sourcepub fn integer_range(
self,
min: i64,
max: i64,
step: i64,
) -> Result<ParameterBuilder<'a, T>, ParameterError>
pub fn integer_range( self, min: i64, max: i64, step: i64, ) -> Result<ParameterBuilder<'a, T>, ParameterError>
Set integer range constraints for the parameter
Sourcepub fn float_range(
self,
min: f64,
max: f64,
step: f64,
) -> Result<ParameterBuilder<'a, T>, ParameterError>
pub fn float_range( self, min: f64, max: f64, step: f64, ) -> Result<ParameterBuilder<'a, T>, ParameterError>
Set floating point range constraints for the parameter
Sourcepub fn range(
self,
range: RangeInclusive<T>,
) -> Result<ParameterBuilder<'a, T>, ParameterError>where
T: RangeConvertible,
pub fn range(
self,
range: RangeInclusive<T>,
) -> Result<ParameterBuilder<'a, T>, 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