w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

number::impl Namespace Reference

Namespaces

namespace  blueprint_helpers
 
namespace  enum_to_stem_string
 
namespace  roundingutils
 
namespace  skeleton
 
namespace  stem_to_object
 
namespace  utils
 

Classes

class  AdoptingModifierStore
 
class  AffixPatternProvider
 
struct  AffixTag
 
class  AffixUtils
 
class  AutoAffixPatternProvider
 
class  CompactData
 
class  CompactHandler
 
struct  CompactModInfo
 
class  ConstantAffixModifier
 
class  ConstantMultiFieldModifier
 
class  CurrencyPluralInfoAffixProvider
 
class  CurrencyPluralInfoWrapper
 
class  CurrencySpacingEnabledModifier
 
class  CurrencySymbols
 
struct  DecimalFormatFields
 
struct  DecimalFormatProperties
 
struct  DecimalFormatWarehouse
 
class  DecimalQuantity
 
class  DecNum
 
class  EmptyModifier
 
struct  Endpoints
 
class  GeneratorHelpers
 
class  ImmutablePatternModifier
 
class  IntMeasures
 
class  LocalizedNumberFormatterAsFormat
 
class  LongNameHandler
 
class  LongNameMultiplexer
 
struct  MicroProps
 
class  MicroPropsGenerator
 
class  MixedUnitLongNameHandler
 
class  Modifier
 
class  ModifierStore
 
class  MultiplierFormatHandler
 
class  MultiplierProducer
 
class  MutablePatternModifier
 
class  NullableValue
 
class  NumberFormatterImpl
 
class  NumberPropertyMapper
 
class  NumberRangeFormatterImpl
 
struct  ParsedPatternInfo
 
struct  ParsedSubpatternInfo
 
class  PatternParser
 
class  PatternStringUtils
 
class  PropertiesAffixPatternProvider
 
class  RoundingImpl
 
class  ScientificHandler
 
class  ScientificModifier
 
struct  SeenMacroProps
 
class  SimpleModifier
 
class  SymbolProvider
 
class  TokenConsumer
 
class  UFormattedNumberData
 
struct  UFormattedNumberImpl
 
class  UFormattedNumberRangeData
 
struct  UFormattedNumberRangeImpl
 
class  UnitConversionHandler
 
struct  UNumberFormatterData
 
struct  UNumberRangeFormatterData
 
class  UsagePrefsHandler
 

Typedefs

typedef IcuCApiHelper< UFormattedNumber, UFormattedNumberImpl, 0x46444E00 > UFormattedNumberApiHelper
 
typedef FormattedStringBuilder::Field Field
 
typedef UNumberFormatRoundingMode RoundingMode
 
typedef UNumberFormatPadPosition PadPosition
 
typedef UNumberCompactStyle CompactStyle
 
typedef IcuCApiHelper< UFormattedNumberRange, UFormattedNumberRangeImpl, 0x46444E00 > UFormattedNumberRangeApiHelper
 

Enumerations

enum  AffixPatternState {
  STATE_BASE = 0 , STATE_FIRST_QUOTE = 1 , STATE_INSIDE_QUOTE = 2 , STATE_AFTER_QUOTE = 3 ,
  STATE_FIRST_CURR = 4 , STATE_SECOND_CURR = 5 , STATE_THIRD_CURR = 6 , STATE_FOURTH_CURR = 7 ,
  STATE_FIFTH_CURR = 8 , STATE_OVERFLOW_CURR = 9
}
 
enum  ParseMode { PARSE_MODE_LENIENT , PARSE_MODE_STRICT }
 
enum  PatternSignType { PATTERN_SIGN_TYPE_POS , PATTERN_SIGN_TYPE_POS_SIGN , PATTERN_SIGN_TYPE_NEG , PATTERN_SIGN_TYPE_COUNT }
 
enum  IgnoreRounding { IGNORE_ROUNDING_NEVER = 0 , IGNORE_ROUNDING_IF_CURRENCY = 1 , IGNORE_ROUNDING_ALWAYS = 2 }
 
enum  AffixPatternType {
  TYPE_CODEPOINT = 0 , TYPE_MINUS_SIGN = -1 , TYPE_PLUS_SIGN = -2 , TYPE_PERCENT = -3 ,
  TYPE_PERMILLE = -4 , TYPE_CURRENCY_SINGLE = -5 , TYPE_CURRENCY_DOUBLE = -6 , TYPE_CURRENCY_TRIPLE = -7 ,
  TYPE_CURRENCY_QUAD = -8 , TYPE_CURRENCY_QUINT = -9 , TYPE_CURRENCY_OVERFLOW = -15
}
 
enum  CompactType { TYPE_DECIMAL , TYPE_CURRENCY }
 
enum  Signum {
  SIGNUM_NEG = 0 , SIGNUM_NEG_ZERO = 1 , SIGNUM_POS_ZERO = 2 , SIGNUM_POS = 3 ,
  SIGNUM_COUNT = 4
}
 
enum  CldrPatternStyle {
  CLDR_PATTERN_STYLE_DECIMAL , CLDR_PATTERN_STYLE_CURRENCY , CLDR_PATTERN_STYLE_ACCOUNTING , CLDR_PATTERN_STYLE_PERCENT ,
  CLDR_PATTERN_STYLE_SCIENTIFIC , CLDR_PATTERN_STYLE_COUNT
}
 

Functions

CurrencyUnit resolveCurrency (const DecimalFormatProperties &properties, const Locale &locale, UErrorCode &status)
 
static Scale scaleFromProperties (const DecimalFormatProperties &properties)
 
void parseIncrementOption (const StringSegment &segment, Precision &outPrecision, UErrorCode &status)
 
const DecimalQuantityvalidateUFormattedNumberToDecimalQuantity (const UFormattedNumber *uresult, UErrorCode &status)
 
const UFormattedNumberRangeDatavalidateUFormattedNumberRange (const UFormattedNumberRange *uresult, UErrorCode &status)
 

Variables

static const int32_t COMPACT_MAX_DIGITS = 15
 
static constexpr int32_t kMaxIntFracSig = 999
 
static constexpr RoundingMode kDefaultMode = RoundingMode::UNUM_FOUND_HALFEVEN
 
static constexpr char16_t kFallbackPaddingString [] = u" "
 

Typedef Documentation

◆ CompactStyle

Definition at line 35 of file number_types.h.

◆ Field

◆ PadPosition

◆ RoundingMode

◆ UFormattedNumberApiHelper

◆ UFormattedNumberRangeApiHelper

Enumeration Type Documentation

◆ AffixPatternState

Enumerator
STATE_BASE 
STATE_FIRST_QUOTE 
STATE_INSIDE_QUOTE 
STATE_AFTER_QUOTE 
STATE_FIRST_CURR 
STATE_SECOND_CURR 
STATE_THIRD_CURR 
STATE_FOURTH_CURR 
STATE_FIFTH_CURR 
STATE_OVERFLOW_CURR 

Definition at line 20 of file number_affixutils.h.

◆ AffixPatternType

Enumerator
TYPE_CODEPOINT 
TYPE_MINUS_SIGN 
TYPE_PLUS_SIGN 
TYPE_PERCENT 
TYPE_PERMILLE 
TYPE_CURRENCY_SINGLE 
TYPE_CURRENCY_DOUBLE 
TYPE_CURRENCY_TRIPLE 
TYPE_CURRENCY_QUAD 
TYPE_CURRENCY_QUINT 
TYPE_CURRENCY_OVERFLOW 

Definition at line 55 of file number_types.h.

◆ CldrPatternStyle

Enumerator
CLDR_PATTERN_STYLE_DECIMAL 
CLDR_PATTERN_STYLE_CURRENCY 
CLDR_PATTERN_STYLE_ACCOUNTING 
CLDR_PATTERN_STYLE_PERCENT 
CLDR_PATTERN_STYLE_SCIENTIFIC 
CLDR_PATTERN_STYLE_COUNT 

Definition at line 27 of file number_utils.h.

◆ CompactType

Enumerator
TYPE_DECIMAL 
TYPE_CURRENCY 

Definition at line 90 of file number_types.h.

◆ IgnoreRounding

Enumerator
IGNORE_ROUNDING_NEVER 
IGNORE_ROUNDING_IF_CURRENCY 
IGNORE_ROUNDING_ALWAYS 

Definition at line 166 of file number_patternstring.h.

◆ ParseMode

Controls the set of rules for parsing a string from the old DecimalFormat API.

Enumerator
PARSE_MODE_LENIENT 

Lenient mode should be used if you want to accept malformed user input. It will use heuristics to attempt to parse through typographical errors in the string.

PARSE_MODE_STRICT 

Strict mode should be used if you want to require that the input is well-formed. More specifically, it differs from lenient mode in the following ways:

  • Grouping widths must match the grouping settings. For example, "12,3,45" will fail if the grouping width is 3, as in the pattern "#,##0".
  • The string must contain a complete prefix and suffix. For example, if the pattern is "{#};(#)", then "{123}" or "(123)" would match, but "{123", "123}", and "123" would all fail. (The latter strings would be accepted in lenient mode.)
  • Whitespace may not appear at arbitrary places in the string. In lenient mode, whitespace is allowed to occur arbitrarily before and after prefixes and exponent separators.
  • Leading grouping separators are not allowed, as in ",123".
  • Minus and plus signs can only appear if specified in the pattern. In lenient mode, a plus or minus sign can always precede a number.
  • The set of characters that can be interpreted as a decimal or grouping separator is smaller.
  • If currency parsing is enabled, currencies must only appear where specified in either the current pattern string or in a valid pattern string for the current locale. For example, if the pattern is "ยค0.00", then "$1.23" would match, but "1.23$" would fail to match.

Definition at line 63 of file number_decimfmtprops.h.

◆ PatternSignType

Enumerator
PATTERN_SIGN_TYPE_POS 

Render using normal positive subpattern rules

PATTERN_SIGN_TYPE_POS_SIGN 

Render using rules to force the display of a plus sign

PATTERN_SIGN_TYPE_NEG 

Render using negative subpattern rules

PATTERN_SIGN_TYPE_COUNT 

Count for looping over the possibilities

Definition at line 26 of file number_patternstring.h.

◆ Signum

Enumerator
SIGNUM_NEG 
SIGNUM_NEG_ZERO 
SIGNUM_POS_ZERO 
SIGNUM_POS 
SIGNUM_COUNT 

Definition at line 94 of file number_types.h.

Function Documentation

◆ parseIncrementOption()

void number::impl::parseIncrementOption ( const StringSegment segment,
Precision &  outPrecision,
UErrorCode status 
)

Parses Precision-related skeleton strings without knowledge of MacroProps

Referencing MacroProps means needing to pull in the .o files that have the destructors for the SymbolsWrapper, Usage, and Scale classes.

Referenced by units::UnitsRouter::parseSkeletonToPrecision().

◆ resolveCurrency()

CurrencyUnit number::impl::resolveCurrency ( const DecimalFormatProperties properties,
const Locale &  locale,
UErrorCode status 
)

Resolves the effective currency from the property bag.

Referenced by numparse::impl::NumberParserImpl::createParserFromProperties(), and number::impl::NumberPropertyMapper::oldToNew().

◆ scaleFromProperties()

static Scale number::impl::scaleFromProperties ( const DecimalFormatProperties properties)
inlinestatic

Gets a Scale from a DecimalFormatProperties. In Java, defined in RoundingUtils.java

Definition at line 37 of file number_multiplier.h.

References none, and properties.

Referenced by numparse::impl::NumberParserImpl::createParserFromProperties(), and number::impl::NumberPropertyMapper::oldToNew().

◆ validateUFormattedNumberRange()

const UFormattedNumberRangeData* number::impl::validateUFormattedNumberRange ( const UFormattedNumberRange uresult,
UErrorCode status 
)

Helper function used in upluralrules.cpp

Referenced by uplrules_selectForRange_68().

◆ validateUFormattedNumberToDecimalQuantity()

const DecimalQuantity* number::impl::validateUFormattedNumberToDecimalQuantity ( const UFormattedNumber uresult,
UErrorCode status 
)

Helper function used in upluralrules.cpp

Referenced by uplrules_selectFormatted_68().

Variable Documentation

◆ COMPACT_MAX_DIGITS

const int32_t number::impl::COMPACT_MAX_DIGITS = 15
static

Definition at line 20 of file number_compact.h.

Referenced by number::impl::CompactData::CompactDataSink::put().

◆ kDefaultMode

◆ kFallbackPaddingString

constexpr char16_t number::impl::kFallbackPaddingString[] = u" "
staticconstexpr

◆ kMaxIntFracSig

constexpr int32_t number::impl::kMaxIntFracSig = 999
staticconstexpr

Definition at line 38 of file number_types.h.

Referenced by number::impl::NumberPropertyMapper::oldToNew().