7#ifndef XFA_FGAS_CRT_CFGAS_STRINGFORMATTER_H_
8#define XFA_FGAS_CRT_CFGAS_STRINGFORMATTER_H_
12#include "core/fxcrt/widestring.h"
13#include "third_party/base/containers/span.h"
14#include "xfa/fgas/crt/locale_iface.h"
22 pdfium::span<
const wchar_t> wsTime,
53 bool ParseText(
const WideString& wsSrcText, WideString* wsValue)
const;
55 const WideString& wsSrcNum,
56 WideString* wsValue)
const;
58 const WideString& wsSrcDateTime,
61 bool ParseZero(
const WideString& wsSrcText)
const;
62 bool ParseNull(
const WideString& wsSrcText)
const;
64 bool FormatText(
const WideString& wsSrcText, WideString* wsOutput)
const;
66 const WideString& wsSrcNum,
67 WideString* wsOutput)
const;
69 const WideString& wsSrcDateTime,
71 WideString* wsOutput)
const;
76 WideString GetTextFormat(WideStringView wsCategory)
const;
80 WideString* wsPurgePattern)
const;
83 WideString* wsDatePattern,
84 WideString* wsTimePattern)
const;
86 const WideString m_wsPattern;
87 const pdfium::span<
const wchar_t> m_spPattern;
bool FX_IsLeapYear(int32_t iYear)
void SetScale(uint8_t newScale)
CFGAS_Decimal(float val, uint8_t scale)
CFGAS_Decimal operator*(const CFGAS_Decimal &val) const
WideString ToWideString() const
CFGAS_Decimal operator/(const CFGAS_Decimal &val) const
CFGAS_Decimal(int32_t val)
void SetDate(int32_t year, uint8_t month, uint8_t day)
uint8_t GetSecond() const
uint8_t GetMinute() const
void SetTime(uint8_t hour, uint8_t minute, uint8_t second, uint16_t millisecond)
uint16_t GetMillisecond() const
virtual WideString GetDayName(int32_t nWeek, bool bAbbr) const =0
virtual WideString GetDecimalSymbol() const =0
virtual WideString GetMonthName(int32_t nMonth, bool bAbbr) const =0
virtual WideString GetNumPattern(NumSubcategory eType) const =0
virtual WideString GetDatePattern(DateTimeSubcategory eType) const =0
virtual int GetTimeZoneInMinutes() const =0
virtual WideString GetMeridiemName(bool bAM) const =0
virtual WideString GetCurrencySymbol() const =0
virtual WideString GetTimePattern(DateTimeSubcategory eType) const =0
virtual WideString GetPercentSymbol() const =0
virtual WideString GetGroupingSymbol() const =0
virtual WideString GetEraName(bool bAD) const =0
virtual WideString GetMinusSymbol() const =0
virtual LocaleIface * GetLocaleByName(const WideString &wsLCID)=0
virtual LocaleIface * GetDefLocale()=0
WideString & operator+=(const WideString &str)
static WideString Format(const wchar_t *pFormat,...)
WideString & operator=(WideString &&that) noexcept
WideString & operator+=(const wchar_t *str)
bool operator==(const wchar_t *ptr) const
WideString & operator+=(wchar_t ch)
void TrimLeft(wchar_t target)
bool EqualsASCIINoCase(ByteStringView that) const
CharType operator[](const size_t index) const
const wchar_t * c_str() const
WideString & operator=(const WideString &that)
bool operator!=(const wchar_t *ptr) const
bool EqualsASCII(ByteStringView that) const
bool FXSYS_IsHexDigit(char c)
int FXSYS_HexCharToInt(char c)
WideString operator+(const WideString &str1, const WideString &str2)
WideString operator+(wchar_t ch, const WideString &str2)
WideString operator+(const wchar_t *str1, const WideString &str2)