Expand description
Public API for the number format packed struct.
This has a consistent API whether or not the format feature is
enabled, however, most functionality will be disabled if the feature
is not enabled.
§Pre-Defined Formats
These are the pre-defined formats for parsing numbers from various programming, markup, and data languages.
§Syntax Flags
Bitflags to get and set syntax flags for the format packed struct.
REQUIRED_INTEGER_DIGITSREQUIRED_FRACTION_DIGITSREQUIRED_EXPONENT_DIGITSREQUIRED_MANTISSA_DIGITSREQUIRED_DIGITSNO_POSITIVE_MANTISSA_SIGNREQUIRED_MANTISSA_SIGNNO_EXPONENT_NOTATIONNO_POSITIVE_EXPONENT_SIGNREQUIRED_EXPONENT_SIGNNO_EXPONENT_WITHOUT_FRACTIONNO_SPECIALCASE_SENSITIVE_SPECIALNO_INTEGER_LEADING_ZEROSNO_FLOAT_LEADING_ZEROSREQUIRED_EXPONENT_NOTATIONCASE_SENSITIVE_EXPONENTCASE_SENSITIVE_BASE_PREFIXCASE_SENSITIVE_BASE_SUFFIX
§Digit Separator Flags
Bitflags to get and set digit separators flags for the format packed struct.
INTEGER_INTERNAL_DIGIT_SEPARATORFRACTION_INTERNAL_DIGIT_SEPARATOREXPONENT_INTERNAL_DIGIT_SEPARATORINTEGER_LEADING_DIGIT_SEPARATORFRACTION_LEADING_DIGIT_SEPARATOREXPONENT_LEADING_DIGIT_SEPARATORINTEGER_TRAILING_DIGIT_SEPARATORFRACTION_TRAILING_DIGIT_SEPARATOREXPONENT_TRAILING_DIGIT_SEPARATORINTEGER_CONSECUTIVE_DIGIT_SEPARATORFRACTION_CONSECUTIVE_DIGIT_SEPARATOREXPONENT_CONSECUTIVE_DIGIT_SEPARATORINTERNAL_DIGIT_SEPARATORLEADING_DIGIT_SEPARATORTRAILING_DIGIT_SEPARATORCONSECUTIVE_DIGIT_SEPARATORSPECIAL_DIGIT_SEPARATOR
§Character Shifts and Masks
Bitmasks and bit shifts to get and set control characters for the format packed struct.
DIGIT_SEPARATOR_SHIFTDIGIT_SEPARATORBASE_PREFIX_SHIFTBASE_PREFIXBASE_SUFFIX_SHIFTBASE_SUFFIXMANTISSA_RADIX_SHIFTMANTISSA_RADIXRADIX_SHIFTRADIXEXPONENT_BASE_SHIFTEXPONENT_BASEEXPONENT_RADIX_SHIFTEXPONENT_RADIX
§Character Functions
Functions to get control characters from the format packed struct.
digit_separatorbase_prefixbase_suffixmantissa_radixexponent_baseexponent_radixradix_from_flags
§Validators
Functions to validate control characters for the format packed struct.
Structs§
- Number
Format Builder - Build number format from specifications.
Constants§
- BASE_
PREFIX - Mask to extract the base prefix character.
- BASE_
PREFIX_ SHIFT - Shift to convert to and from a base prefix as a
u8. - BASE_
SUFFIX - Mask to extract the base suffix character.
- BASE_
SUFFIX_ SHIFT - Shift to convert to and from a base suffix as a
u8. - CASE_
SENSITIVE_ BASE_ PREFIX - Base prefixes are case-sensitive.
- CASE_
SENSITIVE_ BASE_ SUFFIX - Base suffixes are case-sensitive.
- CASE_
SENSITIVE_ EXPONENT - Exponent characters are case-sensitive.
- CASE_
SENSITIVE_ SPECIAL - Special (non-finite) values are case-sensitive.
- CONSECUTIVE_
DIGIT_ SEPARATOR - Multiple consecutive digit separators are allowed.
- DIGIT_
SEPARATOR - Mask to extract the digit separator character.
- DIGIT_
SEPARATOR_ SHIFT - Shift to convert to and from a digit separator as a
u8. - EXPONENT_
BASE - Mask to extract the exponent base: the base the exponent is raised to.
- EXPONENT_
BASE_ SHIFT - Shift to convert to and from an exponent base as a
u32. - EXPONENT_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive exponent digit separators are allowed.
- EXPONENT_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between exponent digits.
- EXPONENT_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any exponent digits.
- EXPONENT_
RADIX - Mask to extract the exponent radix: the radix for the exponent digits.
- EXPONENT_
RADIX_ SHIFT - Shift to convert to and from an exponent radix as a
u32. - EXPONENT_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any exponent digits.
- FRACTION_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive fraction digit separators are allowed.
- FRACTION_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between fraction digits.
- FRACTION_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any fraction digits.
- FRACTION_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any fraction digits.
- INTEGER_
CONSECUTIVE_ DIGIT_ SEPARATOR - Multiple consecutive integer digit separators are allowed.
- INTEGER_
INTERNAL_ DIGIT_ SEPARATOR - Digit separators are allowed between integer digits.
- INTEGER_
LEADING_ DIGIT_ SEPARATOR - A digit separator is allowed before any integer digits.
- INTEGER_
TRAILING_ DIGIT_ SEPARATOR - A digit separator is allowed after any integer digits.
- INTERNAL_
DIGIT_ SEPARATOR - Digit separators are allowed between digits.
- LEADING_
DIGIT_ SEPARATOR - A digit separator is allowed before any digits.
- MANTISSA_
RADIX - Mask to extract the mantissa radix: the radix for the significant digits.
- MANTISSA_
RADIX_ SHIFT - Shift to convert to and from a mantissa radix as a
u32. - NO_
EXPONENT_ NOTATION - Exponent notation is not allowed.
- NO_
EXPONENT_ WITHOUT_ FRACTION - Exponent without a fraction component is not allowed.
- NO_
FLOAT_ LEADING_ ZEROS - Leading zeros before a float value are not allowed.
- NO_
INTEGER_ LEADING_ ZEROS - Leading zeros before an integer value are not allowed.
- NO_
POSITIVE_ EXPONENT_ SIGN - Positive sign before the exponent is not allowed.
- NO_
POSITIVE_ MANTISSA_ SIGN - Positive sign before the mantissa is not allowed.
- NO_
SPECIAL - Special (non-finite) values are not allowed.
- RADIX
- Alias for
MANTISSA_RADIX. - RADIX_
SHIFT - Alias for
MANTISSA_RADIX_SHIFT. - REQUIRED_
DIGITS - At least 1 digit in the number is required.
- REQUIRED_
EXPONENT_ DIGITS - Digits are required after the exponent character. This check will only occur if the exponent character is present.
- REQUIRED_
EXPONENT_ NOTATION - Exponent notation is required.
- REQUIRED_
EXPONENT_ SIGN - Positive sign before the exponent is required.
- REQUIRED_
FRACTION_ DIGITS - Digits are required after the decimal point. This check will only occur if the decimal point is present.
- REQUIRED_
INTEGER_ DIGITS - Digits are required before the decimal point.
- REQUIRED_
MANTISSA_ DIGITS - Mantissa digits are required (either before or after the decimal point).
- REQUIRED_
MANTISSA_ SIGN - Positive sign before the mantissa is required.
- SPECIAL_
DIGIT_ SEPARATOR - Any digit separators are allowed in special (non-finite) values.
- STANDARD
- Standard number format. This is identical to the Rust string format.
- TRAILING_
DIGIT_ SEPARATOR - A digit separator is allowed after any digits.
Functions§
- base_
prefix - Extract the base prefix character from the format packed struct.
- base_
suffix - Extract the base suffix character from the format packed struct.
- digit_
separator - Extract the digit separator from the format packed struct.
- exponent_
base - Extract the exponent base from the format packed struct.
If not provided, defaults to
mantissa_radix. - exponent_
radix - Extract the exponent radix from the format packed struct.
If not provided, defaults to
mantissa_radix. - format_
error - Get the error type from the format packed struct.
- format_
is_ valid - Determine if the format packed struct is valid.
- is_
valid_ base_ prefix - Determine if the base prefix character is valid.
- is_
valid_ base_ suffix - Determine if the base suffix character is valid.
- is_
valid_ digit_ separator - Determine if the digit separator is valid. Digit separators must not be valid digits or sign characters.
- is_
valid_ exponent_ flags - Determine if the provided exponent flags are valid.
- is_
valid_ options_ punctuation - Determine if all of the “punctuation” characters for the options API are valid.
- is_
valid_ punctuation - Determine if all of the “punctuation” characters are valid.
- is_
valid_ radix - Determine if the radix is valid.
- mantissa_
radix - Extract the mantissa radix from the format packed struct.
- radix_
from_ flags - Extract a generic radix from the format and bitflags.
Type Aliases§
- Option
U8 - Type with the exact same size as a
u8.