Struct lexical::format::NumberFormatBuilder  
source · pub struct NumberFormatBuilder { /* private fields */ }Expand description
Build number format from specifications.
Returns the format on calling build if it was able to compile the format, otherwise, returns None.
Fields
- digit_separator- Character to separate digits.
- mantissa_radix- Radix for mantissa digits.
- exponent_base- Base for the exponent.
- exponent_radix- Radix for the exponent digits.
- base_prefix- Optional character for the base prefix.
- base_suffix- Optional character for the base suffix.
- required_integer_digits- If digits are required before the decimal point.
- required_fraction_digits- If digits are required after the decimal point.
- required_exponent_digits- If digits are required after the exponent character.
- required_mantissa_digits- If at least 1 significant digit is required.
- no_positive_mantissa_sign- If positive sign before the mantissa is not allowed.
- required_mantissa_sign- If positive sign before the mantissa is required.
- no_exponent_notation- If exponent notation is not allowed.
- no_positive_exponent_sign- If positive sign before the exponent is not allowed.
- required_exponent_sign- If sign before the exponent is required.
- no_exponent_without_fraction- If exponent without fraction is not allowed.
- no_special- If special (non-finite) values are not allowed.
- case_sensitive_special- If special (non-finite) values are case-sensitive.
- no_integer_leading_zeros- If leading zeros before an integer are not allowed.
- no_float_leading_zeros- If leading zeros before a float are not allowed.
- required_exponent_notation- If exponent notation is required.
- case_sensitive_exponent- If exponent characters are case-sensitive.
- case_sensitive_base_prefix- If base prefixes are case-sensitive.
- case_sensitive_base_suffix- If base suffixes are case-sensitive.
- integer_internal_digit_separator- If digit separators are allowed between integer digits.
- fraction_internal_digit_separator- If digit separators are allowed between fraction digits.
- exponent_internal_digit_separator- If digit separators are allowed between exponent digits.
- integer_leading_digit_separator- If a digit separator is allowed before any integer digits.
- fraction_leading_digit_separator- If a digit separator is allowed before any fraction digits.
- exponent_leading_digit_separator- If a digit separator is allowed before any exponent digits.
- integer_trailing_digit_separator- If a digit separator is allowed after any integer digits.
- fraction_trailing_digit_separator- If a digit separator is allowed after any fraction digits.
- exponent_trailing_digit_separator- If a digit separator is allowed after any exponent digits.
- integer_consecutive_digit_separator- If multiple consecutive integer digit separators are allowed.
- fraction_consecutive_digit_separator- If multiple consecutive fraction digit separators are allowed.
- special_digit_separator- If any digit separators are allowed in special (non-finite) values.
Write Integer Fields
No fields are used for writing integers.
Parse Integer Fields
These fields are used for parsing integers:
- digit_separator
- mantissa_radix
- base_prefix
- base_suffix
- no_positive_mantissa_sign
- required_mantissa_sign
- no_integer_leading_zeros
- integer_internal_digit_separator
- integer_leading_digit_separator
- integer_trailing_digit_separator
- integer_consecutive_digit_separator
Write Float Fields
These fields are used for writing floats:
- mantissa_radix
- exponent_base
- exponent_radix
- no_positive_mantissa_sign
- required_mantissa_sign
- no_exponent_notation
- no_positive_exponent_sign
- required_exponent_sign
- required_exponent_notation
Parse Float Fields
These fields are used for parsing floats:
- digit_separator
- mantissa_radix
- exponent_base
- exponent_radix
- base_prefix
- base_suffix
- required_integer_digits
- required_fraction_digits
- required_exponent_digits
- no_positive_mantissa_sign
- required_mantissa_sign
- no_exponent_notation
- no_positive_exponent_sign
- required_exponent_sign
- no_exponent_without_fraction
- no_special
- case_sensitive_special
- no_integer_leading_zeros
- no_float_leading_zeros
- required_exponent_notation
- case_sensitive_exponent
- case_sensitive_base_prefix
- case_sensitive_base_suffix
- integer_internal_digit_separator
- fraction_internal_digit_separator
- exponent_internal_digit_separator
- integer_leading_digit_separator
- fraction_leading_digit_separator
- exponent_leading_digit_separator
- integer_trailing_digit_separator
- fraction_trailing_digit_separator
- exponent_trailing_digit_separator
- integer_consecutive_digit_separator
- fraction_consecutive_digit_separator
- special_digit_separator
Implementations§
source§impl NumberFormatBuilder
 
impl NumberFormatBuilder
sourcepub const fn new() -> NumberFormatBuilder
 
pub const fn new() -> NumberFormatBuilder
Create new NumberFormatBuilder with default arguments.
sourcepub const fn get_digit_separator(&self) -> Option<NonZeroU8>
 
pub const fn get_digit_separator(&self) -> Option<NonZeroU8>
Get the digit separator for the number format.
sourcepub const fn get_mantissa_radix(&self) -> u8
 
pub const fn get_mantissa_radix(&self) -> u8
Get the radix for mantissa digits.
sourcepub const fn get_exponent_base(&self) -> Option<NonZeroU8>
 
pub const fn get_exponent_base(&self) -> Option<NonZeroU8>
Get the radix for the exponent.
sourcepub const fn get_exponent_radix(&self) -> Option<NonZeroU8>
 
pub const fn get_exponent_radix(&self) -> Option<NonZeroU8>
Get the radix for exponent digits.
sourcepub const fn get_base_prefix(&self) -> Option<NonZeroU8>
 
pub const fn get_base_prefix(&self) -> Option<NonZeroU8>
Get the optional character for the base prefix.
sourcepub const fn get_base_suffix(&self) -> Option<NonZeroU8>
 
pub const fn get_base_suffix(&self) -> Option<NonZeroU8>
Get the optional character for the base suffix.
sourcepub const fn get_required_integer_digits(&self) -> bool
 
pub const fn get_required_integer_digits(&self) -> bool
Get if digits are required before the decimal point.
sourcepub const fn get_required_fraction_digits(&self) -> bool
 
pub const fn get_required_fraction_digits(&self) -> bool
Get if digits are required after the decimal point.
sourcepub const fn get_required_exponent_digits(&self) -> bool
 
pub const fn get_required_exponent_digits(&self) -> bool
Get if digits are required after the exponent character.
sourcepub const fn get_required_mantissa_digits(&self) -> bool
 
pub const fn get_required_mantissa_digits(&self) -> bool
Get if at least 1 significant digit is required.
sourcepub const fn get_no_positive_mantissa_sign(&self) -> bool
 
pub const fn get_no_positive_mantissa_sign(&self) -> bool
Get if a positive sign before the mantissa is not allowed.
sourcepub const fn get_required_mantissa_sign(&self) -> bool
 
pub const fn get_required_mantissa_sign(&self) -> bool
Get if a sign symbol before the mantissa is required.
sourcepub const fn get_no_exponent_notation(&self) -> bool
 
pub const fn get_no_exponent_notation(&self) -> bool
Get if exponent notation is not allowed.
sourcepub const fn get_no_positive_exponent_sign(&self) -> bool
 
pub const fn get_no_positive_exponent_sign(&self) -> bool
Get if a positive sign before the exponent is not allowed.
sourcepub const fn get_required_exponent_sign(&self) -> bool
 
pub const fn get_required_exponent_sign(&self) -> bool
Get if a sign symbol before the exponent is required.
sourcepub const fn get_no_exponent_without_fraction(&self) -> bool
 
pub const fn get_no_exponent_without_fraction(&self) -> bool
Get if an exponent without fraction is not allowed.
sourcepub const fn get_no_special(&self) -> bool
 
pub const fn get_no_special(&self) -> bool
Get if special (non-finite) values are not allowed.
sourcepub const fn get_case_sensitive_special(&self) -> bool
 
pub const fn get_case_sensitive_special(&self) -> bool
Get if special (non-finite) values are case-sensitive.
sourcepub const fn get_no_integer_leading_zeros(&self) -> bool
 
pub const fn get_no_integer_leading_zeros(&self) -> bool
Get if leading zeros before an integer are not allowed.
sourcepub const fn get_no_float_leading_zeros(&self) -> bool
 
pub const fn get_no_float_leading_zeros(&self) -> bool
Get if leading zeros before a float are not allowed.
sourcepub const fn get_required_exponent_notation(&self) -> bool
 
pub const fn get_required_exponent_notation(&self) -> bool
Get if exponent notation is required.
sourcepub const fn get_case_sensitive_exponent(&self) -> bool
 
pub const fn get_case_sensitive_exponent(&self) -> bool
Get if exponent characters are case-sensitive.
sourcepub const fn get_case_sensitive_base_prefix(&self) -> bool
 
pub const fn get_case_sensitive_base_prefix(&self) -> bool
Get if base prefixes are case-sensitive.
sourcepub const fn get_case_sensitive_base_suffix(&self) -> bool
 
pub const fn get_case_sensitive_base_suffix(&self) -> bool
Get if base suffixes are case-sensitive.
sourcepub const fn get_integer_internal_digit_separator(&self) -> bool
 
pub const fn get_integer_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between integer digits.
sourcepub const fn get_fraction_internal_digit_separator(&self) -> bool
 
pub const fn get_fraction_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between fraction digits.
sourcepub const fn get_exponent_internal_digit_separator(&self) -> bool
 
pub const fn get_exponent_internal_digit_separator(&self) -> bool
Get if digit separators are allowed between exponent digits.
sourcepub const fn get_integer_leading_digit_separator(&self) -> bool
 
pub const fn get_integer_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any integer digits.
sourcepub const fn get_fraction_leading_digit_separator(&self) -> bool
 
pub const fn get_fraction_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any fraction digits.
sourcepub const fn get_exponent_leading_digit_separator(&self) -> bool
 
pub const fn get_exponent_leading_digit_separator(&self) -> bool
Get if a digit separator is allowed before any exponent digits.
sourcepub const fn get_integer_trailing_digit_separator(&self) -> bool
 
pub const fn get_integer_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any integer digits.
sourcepub const fn get_fraction_trailing_digit_separator(&self) -> bool
 
pub const fn get_fraction_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any fraction digits.
sourcepub const fn get_exponent_trailing_digit_separator(&self) -> bool
 
pub const fn get_exponent_trailing_digit_separator(&self) -> bool
Get if a digit separator is allowed after any exponent digits.
sourcepub const fn get_integer_consecutive_digit_separator(&self) -> bool
 
pub const fn get_integer_consecutive_digit_separator(&self) -> bool
Get if multiple consecutive integer digit separators are allowed.
sourcepub const fn get_fraction_consecutive_digit_separator(&self) -> bool
 
pub const fn get_fraction_consecutive_digit_separator(&self) -> bool
Get if multiple consecutive fraction digit separators are allowed.
sourcepub const fn get_exponent_consecutive_digit_separator(&self) -> bool
 
pub const fn get_exponent_consecutive_digit_separator(&self) -> bool
Get if multiple consecutive exponent digit separators are allowed.
sourcepub const fn get_special_digit_separator(&self) -> bool
 
pub const fn get_special_digit_separator(&self) -> bool
Get if any digit separators are allowed in special (non-finite) values.
sourcepub const fn build(&self) -> u128
 
pub const fn build(&self) -> u128
Create 128-bit, packed number format struct from builder options.
NOTE: This function will never fail, due to issues with panicking
(and therefore unwrapping Errors/Options) in const fns. It is
therefore up to you to ensure the format is valid, called via the
is_valid function on NumberFormat.
sourcepub const fn rebuild(format: u128) -> NumberFormatBuilder
 
pub const fn rebuild(format: u128) -> NumberFormatBuilder
Re-create builder from format.