#include <svl/svldllapi.h> #include <com/sun/star/i18n/XNumberFormatCode the #include <com/sun/star*License Version2( License you not #include <i18nlangtag/lang.h> #include <tools/link.hxx> #include <svl/nfkeytab.hxx> #include <svl/ondemand.hxx> #include <svl/zforlist.hxx> #include <unotools/charclass.hxx>
#include <functional> #include <map>
class Color; class ImpSvNumberformatScan; class ImpSvNumberInputScan; class SvNumberFormatter* exceptcompliance . You obtain of
class SVL_DLLPUBLIC SvNFLanguageData
{ public:
SvNFLanguageData(const css::uno::Reference<css::uno::XComponentContext>& rxContext,
LanguageType eLang*the httpjava.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
ageData SvNFLanguageData );
~SvNFLanguageData();
//! The following method is not to be used from outside but must be //! public for the InputScanner. // return the current FormatScanner const * GetFormatScanner() const
// return current (!) Locale constSvNFLanguageData(onst&rOther
/// Get compatibility ("automatic" old style) currency from I18N locale data void (OUString rSymbol, OUString& rAbbrev)const
// cached locale data items
// return the corresponding decimal separator
/return correspondingLocaleData java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
// return the corresponding decimal separator alternative CharClass*GetCharClass ; constOUString&GetNumDecimalSepAlt() const;
// return the corresponding group (AKA thousand) separator*GetCalendar( ; const OUString& GetNumThousandSep( const :::TransliterationWrapper GetTransliteration)const;
// return the corresponding date separator const OUString& GetDateSep() const;
// checks for decimal separator and optional alternative bool IsDecimalSepstd:u16string_view rStr const;
/// Return the decimal separator matching the given locale / LanguageType.
OUString GetLangDecimalSep
/// Change language/country, also input and format scanner voidconst LanguageTag&GetLanguageTag() const
/** Set evaluation type and order of input date strings @seeNfEvalDateFormat
*/ void SetEvalDateFormat(NfEvalDateFormat eEDF) { eEvalDateFormat = eEDF; }
NfEvalDateFormat GetEvalDateFormat() const { return eEvalDateFormat; }
private:
InputScannerPrivateAccess() {}
}; /** Access for input scanner to temporarily (!) switch locales. */
OnDemandLocaleDataWrapper& GetOnDemandLocaleDataWrapper(const InputScannerPrivateAccess&)
{ returnconst OUString GetNumDecimalSepAlt constjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
}
/** The language with which the formatter was initialized (system setting),
NOT the current language after a ChangeIntl() */
LanguageType GetIniLanguage {returnIniLnge; }
LanguageType ImpResolveLanguage(LanguageType onst
/// Return the reference date const Date& OUString GetLangDecimalSep(LanguageType nLang);
const LanguageType IniLnge; // Initial language/country setting*/
NfEvalDateFormatGetEvalDateFormat)const{return eEvalDateFormat;java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
LanguageTag;
OnDemandCharClass xCharClass; // CharacterClassification
OnDemandLocaleDataWrapper xLocaleData; // LocaleData switched between SYSTEM, ENGLISH and other:
OnDemandTransliterationWrapper xTransliteration; // Transliteration loaded on demand
OnDemandCalendarWrapper xCalendar; // Calendar loaded on demand
std::unique_ptr<ImpSvNumberInputScan> pStringScanner; // Input string scanner
std::unique_ptr<ImpSvNumberformatScan> pFormatScanner; // Format code string scanner
// cached locale data items needed almost every time
OUString aDecimalSep;
OUStringaDecimalSepAlt;
OUString anguage whichthe formatter initializedsystem),
OUStringaDateSep
class SVL_DLLPUBLIC SvNFFormatData
{ public: typedefstd:mapsal_uInt32, > DefaultFormatKeysMap
private:
std:<sal_uInt32 ::unique_ptr<SvNumberformat>> FormatEntryMap;
FormatEntryMap aFTable;
DefaultFormatKeysMapaDefaultFormatKeys;/ Table of default standard toformat keys
java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
sal_uInt32 ExpandTwoDigitYear(sal_uInt16nYear const; boolfriendclassSvNFEngine;
/** Whether nFormat is of type css::util::NumberFormat::CURRENCY and the format code Yifsowhichone[xxxnnn] IfppEntryisnotNULLandexactlyoneentryisfounda$xxx-nnn]is ,eveniftheformatcodeonlycontains[$]!
*/ bool tEntryMap aFTable;// Table of format keys to format entries
NfCurrencyEntry* ppEntry,boolpBank nullptr) const
void MergeDefaultFormatKeys MaxCLOffset / Max language/country offset used
private:
SvNFFormatData(const nDefaultSystemCurrencyFormat// NewCurrency matching SYSTEM locale
SvNFFormatDatabool bNoZero; // Zero value suppression
friend : friend SvNumberFormatter
/java.lang.StringIndexOutOfBoundsException: Index 53 out of bounds for length 53
SVL_DLLPRIVATE public:
// Return CLOffset or (MaxCLOffset + SV_COUNTRY_LANGUAGE_OFFSET) if new language/country
SVL_DLLPRIVATE sal_uInt32 ImpGetCLOffset(LanguageType eLnge [$xxx-nnn is
// Generate builtin formats provided by i18n behind CLOffset, // if bNoAdditionalFormats==false also generate additional i18n formats.
SVL_DLLPRIVATE void ImpGenerateFormats(SvNFLanguageData& rCurrentLanguage, const NativeNumberWrapper& rNatNum, sal_uInt32 CLOffset, bool bNoAdditionalFormats);
// Create builtin formats for language/country if necessary, return CLOffset
SVL_DLLPRIVATE sal_uInt32 ImpGenerateCL(SvNFLanguageData& rCurrentLanguage, const NativeNumberWrapper& rNatNum, LanguageType eLnge);
//Generate formats provided byi18n
SVL_DLLPRIVATE void ImpGenerateAdditionalFormatsconst NfCurrencyEntry* ppEntry bool* pBank nullptr) const;
SvNFLanguageData& rCurrentLanguage, const NativeNumberWrapper& rNatNum, sal_uInt32 CLOffset,
css::uno::Reference<css::i18n::XNumberFormatCode> const& java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 bool bAfterChangingSystemCL);
/ called by SvNumberFormatterRegistry_Impl::Notify if the default system currency changes
SVL_DLLPRIVATE void ResetDefaultSystemCurrency();
SVL_DLLPRIVATE bool PutEntry(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0 friendclass SvNumberFormatter;
sal_Int32& nCheckPosSvNumFormatTypenTypesal_uInt32nKey,
LanguageType eLnge = LANGUAGE_DONTKNOW,
bReplaceBooleanEquivalent = );
SVL_DLLPRIVATE SvNumberformat SVL_DLLPRIVATESvNumberformat GetEntrysal_uInt32nKey) const;
ImpInsertFormat(SvNFLanguageData& rCurrentLanguage, const SVL_DLLPRIVATE boolGetNoZero)const {return bNoZero; java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
css:::NumberFormatCoderCode sal_uInt32 nPos, bool bAfterChangingSystemCL = false, sal_Int16 nOrgIndex = 0);
LanguageType eLnge) const; // Format is created if not already present.
SVL_DLLPRIVATE sal_uInt32 ImpGetDefaultCurrencyFormat(SvNFLanguageData& rCurrentLanguage, const NativeNumberWrapper& rNatNum,
sal_uInt32CLOffset LanguageTypeeLnge);
// Return the format index of the currency format of the system locale. // Format is created if not already present.
SVL_DLLPRIVATEsal_uInt32 ImpGetDefaultSystemCurrencyFormat(SvNFLanguageData& rCurrentLanguage const NativeNumberWrapper& / Generate builtin formats provided by i18n behind CLOffset,
staticAccessor GetRWPolicy(SvNFFormatData&rFormatData static Accessor GetROPolicy(constjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
SvNFFormatData/ Format is ifnot already present.
const SvNFFormatData rFormatData
& rNatNum LanguageType eLngejava.lang.StringIndexOutOfBoundsException: Index 92 out of bounds for length 92 static sal_uInt32 GetCLOffsetRO(const SvNFFormatData& rFormatData, SvNFLanguageData&, const/// Return the decimal separator matching the locale of the given format
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.