@swiftbrowser/wasm-sdk-foundation 0.0.0-stage → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/LICENSE.txt +1445 -0
  2. package/README.md +24 -2
  3. package/files.json +366 -0
  4. package/package.json +18 -4
  5. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/HTMLparser.h +320 -0
  6. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/HTMLtree.h +147 -0
  7. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/SAX.h +204 -0
  8. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/SAX2.h +173 -0
  9. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/c14n.h +128 -0
  10. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/catalog.h +182 -0
  11. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/chvalid.h +230 -0
  12. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/debugXML.h +217 -0
  13. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/dict.h +81 -0
  14. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/encoding.h +233 -0
  15. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/entities.h +151 -0
  16. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/globals.h +529 -0
  17. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/hash.h +236 -0
  18. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/list.h +137 -0
  19. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/nanoftp.h +186 -0
  20. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/nanohttp.h +81 -0
  21. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/parser.h +1265 -0
  22. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/parserInternals.h +662 -0
  23. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/pattern.h +100 -0
  24. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/relaxng.h +218 -0
  25. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/schemasInternals.h +958 -0
  26. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/schematron.h +142 -0
  27. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/threads.h +94 -0
  28. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/tree.h +1314 -0
  29. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/uri.h +94 -0
  30. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/valid.h +448 -0
  31. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xinclude.h +129 -0
  32. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xlink.h +189 -0
  33. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlIO.h +369 -0
  34. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlautomata.h +146 -0
  35. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlerror.h +919 -0
  36. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlexports.h +50 -0
  37. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlmemory.h +228 -0
  38. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlmodule.h +57 -0
  39. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlreader.h +428 -0
  40. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlregexp.h +222 -0
  41. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlsave.h +88 -0
  42. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlschemas.h +246 -0
  43. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlschemastypes.h +152 -0
  44. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlstring.h +140 -0
  45. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlunicode.h +202 -0
  46. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlversion.h +526 -0
  47. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xmlwriter.h +488 -0
  48. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xpath.h +575 -0
  49. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xpathInternals.h +632 -0
  50. package/wasm32-unknown-wasip1/WASI.sdk/include/libxml2/libxml/xpointer.h +137 -0
  51. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFArray.h +673 -0
  52. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFAttributedString.h +157 -0
  53. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFAttributedStringPriv.h +25 -0
  54. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFAvailability.h +236 -0
  55. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBag.h +97 -0
  56. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBase.h +702 -0
  57. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBigNumber.h +76 -0
  58. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBinaryHeap.h +294 -0
  59. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBitVector.h +49 -0
  60. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBundle.h +349 -0
  61. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBundlePriv.h +334 -0
  62. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBundle_BinaryTypes.h +61 -0
  63. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFBurstTrie.h +181 -0
  64. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFByteOrder.h +305 -0
  65. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFCalendar.h +116 -0
  66. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFCalendarPriv.h +52 -0
  67. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFCharacterSet.h +387 -0
  68. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFCharacterSetPriv.h +78 -0
  69. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFConstantKeys.h +128 -0
  70. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFData.h +79 -0
  71. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDate.h +113 -0
  72. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDateComponents.h +92 -0
  73. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDateFormatter.h +193 -0
  74. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDateFormatter_Private.h +31 -0
  75. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDateInterval.h +62 -0
  76. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDateIntervalFormatter.h +96 -0
  77. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFDictionary.h +674 -0
  78. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFError.h +183 -0
  79. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFError_Private.h +27 -0
  80. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFKnownLocations.h +42 -0
  81. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFListFormatter.h +32 -0
  82. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFLocale.h +204 -0
  83. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFLocale_Private.h +35 -0
  84. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFLocking.h +124 -0
  85. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFLogUtilities.h +52 -0
  86. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFMachPort.h +53 -0
  87. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFMessagePort.h +66 -0
  88. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFNotificationCenter.h +81 -0
  89. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFNumber.h +129 -0
  90. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFNumberFormatter.h +174 -0
  91. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFNumber_Private.h +30 -0
  92. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFOverflow.h +88 -0
  93. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPlugIn.h +124 -0
  94. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPlugInCOM.h +117 -0
  95. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPreferences.h +130 -0
  96. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPriv.h +721 -0
  97. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPropertyList.h +151 -0
  98. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFPropertyList_Private.h +19 -0
  99. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFRegularExpression.h +68 -0
  100. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFRelativeDateTimeFormatter.h +61 -0
  101. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFRunArray.h +57 -0
  102. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFRunLoop.h +203 -0
  103. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFRuntime.h +281 -0
  104. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFSet.h +491 -0
  105. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFSocket.h +220 -0
  106. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStorage.h +296 -0
  107. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStream.h +505 -0
  108. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStreamAbstract.h +181 -0
  109. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStreamPriv.h +126 -0
  110. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFString.h +915 -0
  111. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringDefaultEncoding.h +45 -0
  112. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringEncodingConverter.h +82 -0
  113. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringEncodingConverterExt.h +121 -0
  114. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringEncodingConverterPriv.h +47 -0
  115. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringEncodingDatabase.h +23 -0
  116. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFStringEncodingExt.h +184 -0
  117. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFString_Private.h +32 -0
  118. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFTargetConditionals.h +284 -0
  119. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFTimeZone.h +98 -0
  120. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFTree.h +330 -0
  121. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFURL.h +1256 -0
  122. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFURLAccess.h +128 -0
  123. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFURLComponents.h +123 -0
  124. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFURLPriv.h +879 -0
  125. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUUID.h +78 -0
  126. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUniChar.h +244 -0
  127. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUnicodeDecomposition.h +35 -0
  128. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUnicodePrecomposition.h +23 -0
  129. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUserNotification.h +185 -0
  130. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CFUtilities.h +27 -0
  131. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/CoreFoundation.h +105 -0
  132. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/ForFoundationOnly.h +816 -0
  133. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/ForSwiftFoundationOnly.h +689 -0
  134. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/module.modulemap +8 -0
  135. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/CoreFoundation/static-module.map +7 -0
  136. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/CFUniCharBitmapData.h +17 -0
  137. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/CFUniCharBitmapData.inc.h +14707 -0
  138. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/CFUniCharBitmapDataAccess.h +16 -0
  139. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/_CShimsMacros.h +24 -0
  140. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/_CShimsTargetConditionals.h +56 -0
  141. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/_CStdlib.h +169 -0
  142. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/_FoundationCShims.h +32 -0
  143. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/bplist_shims.h +19 -0
  144. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/filemanager_shims.h +156 -0
  145. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/io_shims.h +89 -0
  146. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/module.modulemap +5 -0
  147. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/platform_shims.h +112 -0
  148. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/string_shims.h +52 -0
  149. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_FoundationCShims/uuid.h +81 -0
  150. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/alphaindex.h +766 -0
  151. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/appendable.h +239 -0
  152. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/basictz.h +248 -0
  153. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/brkiter.h +694 -0
  154. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/bytestream.h +307 -0
  155. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/bytestrie.h +568 -0
  156. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/bytestriebuilder.h +193 -0
  157. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/calendar.h +2609 -0
  158. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/caniter.h +215 -0
  159. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/casemap.h +497 -0
  160. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/char16ptr.h +384 -0
  161. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/chariter.h +734 -0
  162. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/choicfmt.h +601 -0
  163. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/coleitr.h +411 -0
  164. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/coll.h +1387 -0
  165. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/compactdecimalformat.h +196 -0
  166. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/curramt.h +133 -0
  167. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/currpinf.h +274 -0
  168. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/currunit.h +146 -0
  169. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/datefmt.h +968 -0
  170. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dbbi.h +48 -0
  171. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dcfmtsym.h +636 -0
  172. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/decimfmt.h +2233 -0
  173. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/displayoptions.h +270 -0
  174. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/docmain.h +247 -0
  175. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtfmtsym.h +1055 -0
  176. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtintrv.h +163 -0
  177. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtitvfmt.h +1231 -0
  178. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtitvinf.h +524 -0
  179. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtptngen.h +676 -0
  180. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/dtrule.h +256 -0
  181. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/edits.h +531 -0
  182. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/enumset.h +69 -0
  183. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/errorcode.h +144 -0
  184. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/fieldpos.h +298 -0
  185. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/filteredbrk.h +152 -0
  186. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/fmtable.h +758 -0
  187. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/format.h +316 -0
  188. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/formattednumber.h +215 -0
  189. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/formattedvalue.h +318 -0
  190. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/fpositer.h +124 -0
  191. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/gender.h +122 -0
  192. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/gregocal.h +737 -0
  193. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/icudataver.h +43 -0
  194. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/icuplug.h +391 -0
  195. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/idna.h +333 -0
  196. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/listformatter.h +291 -0
  197. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/localebuilder.h +309 -0
  198. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/localematcher.h +710 -0
  199. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/localpointer.h +609 -0
  200. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/locdspnm.h +211 -0
  201. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/locid.h +1293 -0
  202. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/measfmt.h +501 -0
  203. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/measunit.h +3928 -0
  204. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/measure.h +174 -0
  205. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/messagepattern.h +950 -0
  206. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/module.modulemap +209 -0
  207. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/msgfmt.h +1117 -0
  208. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/normalizer2.h +791 -0
  209. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/normlzr.h +816 -0
  210. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/nounit.h +86 -0
  211. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/numberformatter.h +2862 -0
  212. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/numberrangeformatter.h +802 -0
  213. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/numfmt.h +1299 -0
  214. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/numsys.h +220 -0
  215. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/parseerr.h +94 -0
  216. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/parsepos.h +237 -0
  217. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/platform.h +874 -0
  218. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/plurfmt.h +601 -0
  219. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/plurrule.h +591 -0
  220. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ptypes.h +66 -0
  221. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/putil.h +183 -0
  222. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/rbbi.h +902 -0
  223. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/rbnf.h +1153 -0
  224. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/rbtz.h +373 -0
  225. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/regex.h +1882 -0
  226. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/region.h +229 -0
  227. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/reldatefmt.h +758 -0
  228. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/rep.h +266 -0
  229. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/resbund.h +489 -0
  230. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/schriter.h +187 -0
  231. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/scientificnumberformatter.h +222 -0
  232. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/search.h +580 -0
  233. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/selfmt.h +374 -0
  234. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/simpleformatter.h +414 -0
  235. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/simplenumberformatter.h +326 -0
  236. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/simpletz.h +940 -0
  237. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/smpdtfmt.h +1383 -0
  238. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/sortkey.h +344 -0
  239. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/std_string.h +41 -0
  240. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/strenum.h +281 -0
  241. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/stringoptions.h +190 -0
  242. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/stringpiece.h +354 -0
  243. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/stringtriebuilder.h +426 -0
  244. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/stsearch.h +509 -0
  245. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/symtable.h +119 -0
  246. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tblcoll.h +886 -0
  247. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/timezone.h +1067 -0
  248. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tmunit.h +142 -0
  249. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tmutamt.h +174 -0
  250. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tmutfmt.h +238 -0
  251. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/translit.h +1593 -0
  252. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tzfmt.h +1102 -0
  253. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tznames.h +419 -0
  254. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tzrule.h +820 -0
  255. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/tztrans.h +201 -0
  256. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ualoc.h +372 -0
  257. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uameasureformat.h +487 -0
  258. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uameasureunit.h +249 -0
  259. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uatimeunitformat.h +377 -0
  260. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uatimezone.h +114 -0
  261. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ubidi.h +2368 -0
  262. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ubiditransform.h +326 -0
  263. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ubrk.h +684 -0
  264. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucal.h +1825 -0
  265. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucasemap.h +388 -0
  266. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucat.h +160 -0
  267. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uchar.h +4410 -0
  268. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucharstrie.h +623 -0
  269. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucharstriebuilder.h +193 -0
  270. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uchriter.h +393 -0
  271. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uclean.h +262 -0
  272. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucnv.h +2053 -0
  273. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucnv_cb.h +164 -0
  274. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucnv_err.h +465 -0
  275. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucnvsel.h +193 -0
  276. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucol.h +1649 -0
  277. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucoleitr.h +344 -0
  278. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uconfig.h +501 -0
  279. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucpmap.h +158 -0
  280. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucptrie.h +645 -0
  281. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucsdet.h +426 -0
  282. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ucurr.h +466 -0
  283. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udat.h +1767 -0
  284. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udata.h +454 -0
  285. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udateintervalformat.h +458 -0
  286. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udatintv.h +146 -0
  287. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udatpg.h +806 -0
  288. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udisplaycontext.h +233 -0
  289. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/udisplayoptions.h +321 -0
  290. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uenum.h +209 -0
  291. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ufieldpositer.h +123 -0
  292. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uformattable.h +290 -0
  293. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uformattednumber.h +224 -0
  294. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uformattedvalue.h +445 -0
  295. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ugender.h +86 -0
  296. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uidna.h +794 -0
  297. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uiter.h +709 -0
  298. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uldnames.h +307 -0
  299. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ulistformatter.h +333 -0
  300. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uloc.h +1437 -0
  301. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ulocale.h +226 -0
  302. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ulocbuilder.h +437 -0
  303. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ulocdata.h +299 -0
  304. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/umachine.h +491 -0
  305. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/umisc.h +62 -0
  306. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/umsg.h +628 -0
  307. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/umutablecptrie.h +240 -0
  308. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unifilt.h +136 -0
  309. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unifunct.h +132 -0
  310. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unimatch.h +168 -0
  311. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unirepl.h +103 -0
  312. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uniset.h +1909 -0
  313. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unistr.h +5095 -0
  314. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unorm.h +476 -0
  315. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unorm2.h +626 -0
  316. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unum.h +1524 -0
  317. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unumberformatter.h +576 -0
  318. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unumberoptions.h +173 -0
  319. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unumberrangeformatter.h +471 -0
  320. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/unumsys.h +176 -0
  321. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uobject.h +324 -0
  322. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uplrule.h +82 -0
  323. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/upluralrules.h +263 -0
  324. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/urbtok.h +276 -0
  325. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uregex.h +1617 -0
  326. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uregion.h +252 -0
  327. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ureldatefmt.h +510 -0
  328. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/urename.h +4026 -0
  329. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/urep.h +157 -0
  330. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ures.h +912 -0
  331. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uscript.h +742 -0
  332. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/usearch.h +911 -0
  333. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uset.h +1898 -0
  334. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/usetiter.h +323 -0
  335. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ushape.h +476 -0
  336. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/usimplenumberformatter.h +297 -0
  337. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uspoof.h +1852 -0
  338. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/usprep.h +274 -0
  339. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ustdio.h +1021 -0
  340. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ustream.h +69 -0
  341. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ustring.h +1719 -0
  342. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/ustringtrie.h +97 -0
  343. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utext.h +1613 -0
  344. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utf.h +225 -0
  345. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utf16.h +740 -0
  346. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utf32.h +25 -0
  347. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utf8.h +882 -0
  348. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utf_old.h +1207 -0
  349. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utmscale.h +490 -0
  350. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utrace.h +506 -0
  351. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utrans.h +660 -0
  352. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/utypes.h +826 -0
  353. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uvernum.h +191 -0
  354. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/uversion.h +230 -0
  355. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/_foundation_unicode/vtzone.h +471 -0
  356. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/Foundation.swiftmodule/wasm32-unknown-wasip1.swiftmodule +0 -0
  357. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/FoundationEssentials.swiftmodule/wasm32-unknown-wasip1.swiftmodule +0 -0
  358. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/FoundationInternationalization.swiftmodule/wasm32-unknown-wasip1.swiftmodule +0 -0
  359. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/FoundationXML.swiftmodule/wasm32-unknown-wasip1.swiftmodule +0 -0
  360. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/_FoundationCollections.swiftmodule/wasm32-unknown-wasip1.swiftmodule +0 -0
  361. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/libCoreFoundation.a +0 -0
  362. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/libFoundation.a +0 -0
  363. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/libFoundationEssentials.a +0 -0
  364. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/libFoundationInternationalization.a +0 -0
  365. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/libFoundationXML.a +0 -0
  366. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/lib_CFXMLInterface.a +0 -0
  367. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/lib_FoundationCShims.a +0 -0
  368. package/wasm32-unknown-wasip1/swift.xctoolchain/usr/lib/swift_static/wasi/lib_FoundationCollections.a +0 -0
@@ -0,0 +1,1383 @@
1
+ // © 2016 and later: Unicode, Inc. and others.
2
+ // License & terms of use: http://www.unicode.org/copyright.html
3
+ /*
4
+ * Copyright (C) 1997-2016, International Business Machines Corporation and
5
+ * others. All Rights Reserved.
6
+ *******************************************************************************
7
+ *
8
+ * File SMPDTFMT.H
9
+ *
10
+ * Modification History:
11
+ *
12
+ * Date Name Description
13
+ * 02/19/97 aliu Converted from java.
14
+ * 07/09/97 helena Make ParsePosition into a class.
15
+ * 07/21/98 stephen Added GMT_PLUS, GMT_MINUS
16
+ * Changed setTwoDigitStartDate to set2DigitYearStart
17
+ * Changed getTwoDigitStartDate to get2DigitYearStart
18
+ * Removed subParseLong
19
+ * Removed getZoneIndex (added in DateFormatSymbols)
20
+ * 06/14/99 stephen Removed fgTimeZoneDataSuffix
21
+ * 10/14/99 aliu Updated class doc to describe 2-digit year parsing
22
+ * {j28 4182066}.
23
+ *******************************************************************************
24
+ */
25
+
26
+ #ifndef SMPDTFMT_H
27
+ #define SMPDTFMT_H
28
+
29
+ #include <_foundation_unicode/utypes.h>
30
+
31
+ #if U_SHOW_CPLUSPLUS_API
32
+
33
+ /**
34
+ * \file
35
+ * \brief C++ API: Format and parse dates in a language-independent manner.
36
+ */
37
+
38
+ #if !UCONFIG_NO_FORMATTING
39
+
40
+ #include <_foundation_unicode/datefmt.h>
41
+ #include <_foundation_unicode/udisplaycontext.h>
42
+ #include <_foundation_unicode/tzfmt.h> /* for UTimeZoneFormatTimeType */
43
+ #include <_foundation_unicode/brkiter.h>
44
+
45
+ U_NAMESPACE_BEGIN
46
+
47
+ class DateFormatSymbols;
48
+ class DateFormat;
49
+ class MessageFormat;
50
+ class FieldPositionHandler;
51
+ class TimeZoneFormat;
52
+ class SharedNumberFormat;
53
+ class SimpleDateFormatMutableNFs;
54
+ class DateIntervalFormat;
55
+
56
+ namespace number {
57
+ class LocalizedNumberFormatter;
58
+ class SimpleNumberFormatter;
59
+ }
60
+
61
+ /**
62
+ *
63
+ * SimpleDateFormat is a concrete class for formatting and parsing dates in a
64
+ * language-independent manner. It allows for formatting (millis -> text),
65
+ * parsing (text -> millis), and normalization. Formats/Parses a date or time,
66
+ * which is the standard milliseconds since 24:00 GMT, Jan 1, 1970.
67
+ * <P>
68
+ * Clients are encouraged to create a date-time formatter using DateFormat::getInstance(),
69
+ * getDateInstance(), getDateInstance(), or getDateTimeInstance() rather than
70
+ * explicitly constructing an instance of SimpleDateFormat. This way, the client
71
+ * is guaranteed to get an appropriate formatting pattern for whatever locale the
72
+ * program is running in. If the client needs more control, they should consider using
73
+ * DateFormat::createInstanceForSkeleton(). However, if the client needs something more unusual than
74
+ * the default patterns in the locales, he can construct a SimpleDateFormat directly
75
+ * and give it an appropriate pattern (or use one of the factory methods on DateFormat
76
+ * and modify the pattern after the fact with toPattern() and applyPattern().
77
+ *
78
+ * <p><strong>Date and Time Patterns:</strong></p>
79
+ *
80
+ * <p>Date and time formats are specified by <em>date and time pattern</em> strings.
81
+ * The full syntax for date and time patterns can be found at
82
+ * <a href="https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns">https://unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns</a>.
83
+ *
84
+ * Within date and time pattern strings, all unquoted ASCII letters [A-Za-z] are reserved
85
+ * as pattern letters representing calendar fields. Some of the most commonly used pattern letters are:</p>
86
+ *
87
+ * <table border="1">
88
+ * <tr>
89
+ * <th style="text-align: center">Sym.</th>
90
+ * <th style="text-align: center">No.</th>
91
+ * <th>Example</th>
92
+ * <th>Description</th>
93
+ * </tr>
94
+ * <tr>
95
+ * <td style="text-align: center">G</td>
96
+ * <td style="text-align: center">1..3</td>
97
+ * <td>AD</td>
98
+ * <td>Era - Replaced with the Era string for the current date. One to three letters for the
99
+ * abbreviated form, four letters for the long (wide) form, five for the narrow form.</td>
100
+ * </tr>
101
+ * <tr>
102
+ * <td style="text-align: center">y</td>
103
+ * <td style="text-align: center">1..n</td>
104
+ * <td>1996</td>
105
+ * <td>Year. Normally the length specifies the padding, but for two letters it also specifies the maximum
106
+ * length. Example:<div style="text-align: center">
107
+ * <center>
108
+ * <table border="1" cellpadding="2" cellspacing="0">
109
+ * <tr>
110
+ * <th>Year</th>
111
+ * <th style="text-align: right">y</th>
112
+ * <th style="text-align: right">yy</th>
113
+ * <th style="text-align: right">yyy</th>
114
+ * <th style="text-align: right">yyyy</th>
115
+ * <th style="text-align: right">yyyyy</th>
116
+ * </tr>
117
+ * <tr>
118
+ * <td>AD 1</td>
119
+ * <td style="text-align: right">1</td>
120
+ * <td style="text-align: right">01</td>
121
+ * <td style="text-align: right">001</td>
122
+ * <td style="text-align: right">0001</td>
123
+ * <td style="text-align: right">00001</td>
124
+ * </tr>
125
+ * <tr>
126
+ * <td>AD 12</td>
127
+ * <td style="text-align: right">12</td>
128
+ * <td style="text-align: right">12</td>
129
+ * <td style="text-align: right">012</td>
130
+ * <td style="text-align: right">0012</td>
131
+ * <td style="text-align: right">00012</td>
132
+ * </tr>
133
+ * <tr>
134
+ * <td>AD 123</td>
135
+ * <td style="text-align: right">123</td>
136
+ * <td style="text-align: right">23</td>
137
+ * <td style="text-align: right">123</td>
138
+ * <td style="text-align: right">0123</td>
139
+ * <td style="text-align: right">00123</td>
140
+ * </tr>
141
+ * <tr>
142
+ * <td>AD 1234</td>
143
+ * <td style="text-align: right">1234</td>
144
+ * <td style="text-align: right">34</td>
145
+ * <td style="text-align: right">1234</td>
146
+ * <td style="text-align: right">1234</td>
147
+ * <td style="text-align: right">01234</td>
148
+ * </tr>
149
+ * <tr>
150
+ * <td>AD 12345</td>
151
+ * <td style="text-align: right">12345</td>
152
+ * <td style="text-align: right">45</td>
153
+ * <td style="text-align: right">12345</td>
154
+ * <td style="text-align: right">12345</td>
155
+ * <td style="text-align: right">12345</td>
156
+ * </tr>
157
+ * </table>
158
+ * </center></div>
159
+ * </td>
160
+ * </tr>
161
+ * <tr>
162
+ * <td rowspan="3" style="text-align: center">Q</td>
163
+ * <td style="text-align: center">1..2</td>
164
+ * <td>02</td>
165
+ * <td rowspan="3">Quarter - Use one or two for the numerical quarter, three for the abbreviation, or four
166
+ * for the full (wide) name (five for the narrow name is not yet supported).</td>
167
+ * </tr>
168
+ * <tr>
169
+ * <td style="text-align: center">3</td>
170
+ * <td>Q2</td>
171
+ * </tr>
172
+ * <tr>
173
+ * <td style="text-align: center">4</td>
174
+ * <td>2nd quarter</td>
175
+ * </tr>
176
+ * <tr>
177
+ * <td rowspan="4" style="text-align: center">M</td>
178
+ * <td style="text-align: center">1..2</td>
179
+ * <td>09</td>
180
+ * <td rowspan="4">Month - Use one or two for the numerical month, three for the abbreviation, four for
181
+ * the full (wide) name, or five for the narrow name. With two ("MM"), the month number is zero-padded
182
+ * if necessary (e.g. "08").</td>
183
+ * </tr>
184
+ * <tr>
185
+ * <td style="text-align: center">3</td>
186
+ * <td>Sep</td>
187
+ * </tr>
188
+ * <tr>
189
+ * <td style="text-align: center">4</td>
190
+ * <td>September</td>
191
+ * </tr>
192
+ * <tr>
193
+ * <td style="text-align: center">5</td>
194
+ * <td>S</td>
195
+ * </tr>
196
+ * <tr>
197
+ * <td style="text-align: center">d</td>
198
+ * <td style="text-align: center">1..2</td>
199
+ * <td>1</td>
200
+ * <td>Date - Day of the month. Use "d" to show the minimum number of digits, or "dd" to always show
201
+ * two digits (zero-padding if necessary, e.g. "08").</td>
202
+ * </tr>
203
+ * <tr>
204
+ * <td rowspan="4" style="text-align: center">E</td>
205
+ * <td style="text-align: center">1..3</td>
206
+ * <td>Tue</td>
207
+ * <td rowspan="4">Day of week - Use one through three letters for the short day, four for the full (wide) name,
208
+ * five for the narrow name, or six for the short name.</td>
209
+ * </tr>
210
+ * <tr>
211
+ * <td style="text-align: center">4</td>
212
+ * <td>Tuesday</td>
213
+ * </tr>
214
+ * <tr>
215
+ * <td style="text-align: center">5</td>
216
+ * <td>T</td>
217
+ * </tr>
218
+ * <tr>
219
+ * <td style="text-align: center">6</td>
220
+ * <td>Tu</td>
221
+ * </tr>
222
+ * <tr>
223
+ * <td style="text-align: center">a</td>
224
+ * <td style="text-align: center">1</td>
225
+ * <td>AM</td>
226
+ * <td>AM or PM</td>
227
+ * </tr>
228
+ * <tr>
229
+ * <td style="text-align: center">h</td>
230
+ * <td style="text-align: center">1..2</td>
231
+ * <td>11</td>
232
+ * <td>Hour [1-12]. When used in skeleton data or in a skeleton passed in an API for flexible data pattern
233
+ * generation, it should match the 12-hour-cycle format preferred by the locale (h or K); it should not match
234
+ * a 24-hour-cycle format (H or k). Use hh for zero padding.</td>
235
+ * </tr>
236
+ * <tr>
237
+ * <td style="text-align: center">H</td>
238
+ * <td style="text-align: center">1..2</td>
239
+ * <td>13</td>
240
+ * <td>Hour [0-23]. When used in skeleton data or in a skeleton passed in an API for flexible data pattern
241
+ * generation, it should match the 24-hour-cycle format preferred by the locale (H or k); it should not match a
242
+ * 12-hour-cycle format (h or K). Use HH for zero padding.</td>
243
+ * </tr>
244
+ * <tr>
245
+ * <td style="text-align: center">m</td>
246
+ * <td style="text-align: center">1..2</td>
247
+ * <td>59</td>
248
+ * <td>Minute. Use "m" to show the minimum number of digits, or "mm" to always show two digits
249
+ * (zero-padding if necessary, e.g. "08")..</td>
250
+ * </tr>
251
+ * <tr>
252
+ * <td style="text-align: center">s</td>
253
+ * <td style="text-align: center">1..2</td>
254
+ * <td>12</td>
255
+ * <td>Second. Use "s" to show the minimum number of digits, or "ss" to always show two digits
256
+ * (zero-padding if necessary, e.g. "08").</td>
257
+ * </tr>
258
+ * <tr>
259
+ * <td rowspan="2" style="text-align: center">z</td>
260
+ * <td style="text-align: center">1..3</td>
261
+ * <td>PDT</td>
262
+ * <td>Time zone. The <i>short specific non-location format</i>.
263
+ * Where that is unavailable, falls back to the <i>short localized GMT format</i> ("O").</td>
264
+ * </tr>
265
+ * <tr>
266
+ * <td style="text-align: center">4</td>
267
+ * <td>Pacific Daylight Time</td>
268
+ * <td>The <i>long specific non-location format</i>.
269
+ * Where that is unavailable, falls back to the <i>long localized GMT format</i> ("OOOO").</td>
270
+ * </tr>
271
+ * <tr>
272
+ * <td rowspan="2" style="text-align: center">v</td>
273
+ * <td style="text-align: center">1</td>
274
+ * <td>PT</td>
275
+ * <td>Time zone. The <i>short generic non-location format</i>.
276
+ * Where that is unavailable, falls back to the <i>generic location format</i> ("VVVV"),
277
+ * then the <i>short localized GMT format</i> as the final fallback.</td>
278
+ * </tr>
279
+ * <tr>
280
+ * <td style="text-align: center">4</td>
281
+ * <td>Pacific Time</td>
282
+ * <td>The <i>long generic non-location format</i>.
283
+ * Where that is unavailable, falls back to <i>generic location format</i> ("VVVV").
284
+ * </tr>
285
+ * </table>
286
+ *
287
+ * <P>
288
+ * Any characters in the pattern that are not in the ranges of ['a'..'z'] and
289
+ * ['A'..'Z'] will be treated as quoted text. For instance, characters
290
+ * like ':', '.', ' ', '#' and '@' will appear in the resulting time text
291
+ * even they are not embraced within single quotes.
292
+ * <P>
293
+ * A pattern containing any invalid pattern letter will result in a failing
294
+ * UErrorCode result during formatting or parsing.
295
+ * <P>
296
+ * Examples using the US locale:
297
+ * <pre>
298
+ * \code
299
+ * Format Pattern Result
300
+ * -------------- -------
301
+ * "yyyy.MM.dd G 'at' HH:mm:ss vvvv" ->> 1996.07.10 AD at 15:08:56 Pacific Time
302
+ * "EEE, MMM d, ''yy" ->> Wed, July 10, '96
303
+ * "h:mm a" ->> 12:08 PM
304
+ * "hh 'o''clock' a, zzzz" ->> 12 o'clock PM, Pacific Daylight Time
305
+ * "K:mm a, vvv" ->> 0:00 PM, PT
306
+ * "yyyyy.MMMMM.dd GGG hh:mm aaa" ->> 1996.July.10 AD 12:08 PM
307
+ * \endcode
308
+ * </pre>
309
+ * Code Sample:
310
+ * <pre>
311
+ * \code
312
+ * UErrorCode success = U_ZERO_ERROR;
313
+ * SimpleTimeZone* pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, "PST");
314
+ * pdt->setStartRule( Calendar::APRIL, 1, Calendar::SUNDAY, 2*60*60*1000);
315
+ * pdt->setEndRule( Calendar::OCTOBER, -1, Calendar::SUNDAY, 2*60*60*1000);
316
+ *
317
+ * // Format the current time.
318
+ * SimpleDateFormat* formatter
319
+ * = new SimpleDateFormat ("yyyy.MM.dd G 'at' hh:mm:ss a zzz", success );
320
+ * GregorianCalendar cal(success);
321
+ * UDate currentTime_1 = cal.getTime(success);
322
+ * FieldPosition fp(FieldPosition::DONT_CARE);
323
+ * UnicodeString dateString;
324
+ * formatter->format( currentTime_1, dateString, fp );
325
+ * cout << "result: " << dateString << endl;
326
+ *
327
+ * // Parse the previous string back into a Date.
328
+ * ParsePosition pp(0);
329
+ * UDate currentTime_2 = formatter->parse(dateString, pp );
330
+ * \endcode
331
+ * </pre>
332
+ * In the above example, the time value "currentTime_2" obtained from parsing
333
+ * will be equal to currentTime_1. However, they may not be equal if the am/pm
334
+ * marker 'a' is left out from the format pattern while the "hour in am/pm"
335
+ * pattern symbol is used. This information loss can happen when formatting the
336
+ * time in PM.
337
+ *
338
+ * <p>
339
+ * When parsing a date string using the abbreviated year pattern ("y" or "yy"),
340
+ * SimpleDateFormat must interpret the abbreviated year
341
+ * relative to some century. It does this by adjusting dates to be
342
+ * within 80 years before and 20 years after the time the SimpleDateFormat
343
+ * instance is created. For example, using a pattern of "MM/dd/yy" and a
344
+ * SimpleDateFormat instance created on Jan 1, 1997, the string
345
+ * "01/11/12" would be interpreted as Jan 11, 2012 while the string "05/04/64"
346
+ * would be interpreted as May 4, 1964.
347
+ * During parsing, only strings consisting of exactly two digits, as defined by
348
+ * <code>Unicode::isDigit()</code>, will be parsed into the default century.
349
+ * Any other numeric string, such as a one digit string, a three or more digit
350
+ * string, or a two digit string that isn't all digits (for example, "-1"), is
351
+ * interpreted literally. So "01/02/3" or "01/02/003" are parsed (for the
352
+ * Gregorian calendar), using the same pattern, as Jan 2, 3 AD. Likewise (but
353
+ * only in lenient parse mode, the default) "01/02/-3" is parsed as Jan 2, 4 BC.
354
+ *
355
+ * <p>
356
+ * If the year pattern has more than two 'y' characters, the year is
357
+ * interpreted literally, regardless of the number of digits. So using the
358
+ * pattern "MM/dd/yyyy", "01/11/12" parses to Jan 11, 12 A.D.
359
+ *
360
+ * <p>
361
+ * When numeric fields abut one another directly, with no intervening delimiter
362
+ * characters, they constitute a run of abutting numeric fields. Such runs are
363
+ * parsed specially. For example, the format "HHmmss" parses the input text
364
+ * "123456" to 12:34:56, parses the input text "12345" to 1:23:45, and fails to
365
+ * parse "1234". In other words, the leftmost field of the run is flexible,
366
+ * while the others keep a fixed width. If the parse fails anywhere in the run,
367
+ * then the leftmost field is shortened by one character, and the entire run is
368
+ * parsed again. This is repeated until either the parse succeeds or the
369
+ * leftmost field is one character in length. If the parse still fails at that
370
+ * point, the parse of the run fails.
371
+ *
372
+ * <P>
373
+ * For time zones that have no names, SimpleDateFormat uses strings GMT+hours:minutes or
374
+ * GMT-hours:minutes.
375
+ * <P>
376
+ * The calendar defines what is the first day of the week, the first week of the
377
+ * year, whether hours are zero based or not (0 vs 12 or 24), and the timezone.
378
+ * There is one common number format to handle all the numbers; the digit count
379
+ * is handled programmatically according to the pattern.
380
+ *
381
+ * <p><em>User subclasses are not supported.</em> While clients may write
382
+ * subclasses, such code will not necessarily work and will not be
383
+ * guaranteed to work stably from release to release.
384
+ */
385
+ class U_I18N_API SimpleDateFormat: public DateFormat {
386
+ public:
387
+ /**
388
+ * Construct a SimpleDateFormat using the default pattern for the default
389
+ * locale.
390
+ * <P>
391
+ * [Note:] Not all locales support SimpleDateFormat; for full generality,
392
+ * use the factory methods in the DateFormat class.
393
+ * @param status Output param set to success/failure code.
394
+ * @stable ICU 2.0
395
+ */
396
+ SimpleDateFormat(UErrorCode& status);
397
+
398
+ /**
399
+ * Construct a SimpleDateFormat using the given pattern and the default locale.
400
+ * The locale is used to obtain the symbols used in formatting (e.g., the
401
+ * names of the months), but not to provide the pattern.
402
+ * <P>
403
+ * [Note:] Not all locales support SimpleDateFormat; for full generality,
404
+ * use the factory methods in the DateFormat class.
405
+ * @param pattern the pattern for the format.
406
+ * @param status Output param set to success/failure code.
407
+ * @stable ICU 2.0
408
+ */
409
+ SimpleDateFormat(const UnicodeString& pattern,
410
+ UErrorCode& status);
411
+
412
+ /**
413
+ * Construct a SimpleDateFormat using the given pattern, numbering system override, and the default locale.
414
+ * The locale is used to obtain the symbols used in formatting (e.g., the
415
+ * names of the months), but not to provide the pattern.
416
+ * <P>
417
+ * A numbering system override is a string containing either the name of a known numbering system,
418
+ * or a set of field and numbering system pairs that specify which fields are to be formatted with
419
+ * the alternate numbering system. For example, to specify that all numeric fields in the specified
420
+ * date or time pattern are to be rendered using Thai digits, simply specify the numbering system override
421
+ * as "thai". To specify that just the year portion of the date be formatted using Hebrew numbering,
422
+ * use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon
423
+ * character in the override string, such as "d=decimal;M=arabic;y=hebrew", etc.
424
+ *
425
+ * <P>
426
+ * [Note:] Not all locales support SimpleDateFormat; for full generality,
427
+ * use the factory methods in the DateFormat class.
428
+ * @param pattern the pattern for the format.
429
+ * @param override the override string.
430
+ * @param status Output param set to success/failure code.
431
+ * @stable ICU 4.2
432
+ */
433
+ SimpleDateFormat(const UnicodeString& pattern,
434
+ const UnicodeString& override,
435
+ UErrorCode& status);
436
+
437
+ /**
438
+ * Construct a SimpleDateFormat using the given pattern and locale.
439
+ * The locale is used to obtain the symbols used in formatting (e.g., the
440
+ * names of the months), but not to provide the pattern.
441
+ * <P>
442
+ * [Note:] Not all locales support SimpleDateFormat; for full generality,
443
+ * use the factory methods in the DateFormat class.
444
+ * @param pattern the pattern for the format.
445
+ * @param locale the given locale.
446
+ * @param status Output param set to success/failure code.
447
+ * @stable ICU 2.0
448
+ */
449
+ SimpleDateFormat(const UnicodeString& pattern,
450
+ const Locale& locale,
451
+ UErrorCode& status);
452
+
453
+ /**
454
+ * Construct a SimpleDateFormat using the given pattern, numbering system override, and locale.
455
+ * The locale is used to obtain the symbols used in formatting (e.g., the
456
+ * names of the months), but not to provide the pattern.
457
+ * <P>
458
+ * A numbering system override is a string containing either the name of a known numbering system,
459
+ * or a set of field and numbering system pairs that specify which fields are to be formatted with
460
+ * the alternate numbering system. For example, to specify that all numeric fields in the specified
461
+ * date or time pattern are to be rendered using Thai digits, simply specify the numbering system override
462
+ * as "thai". To specify that just the year portion of the date be formatted using Hebrew numbering,
463
+ * use the override string "y=hebrew". Numbering system overrides can be combined using a semi-colon
464
+ * character in the override string, such as "d=decimal;M=arabic;y=hebrew", etc.
465
+ * <P>
466
+ * [Note:] Not all locales support SimpleDateFormat; for full generality,
467
+ * use the factory methods in the DateFormat class.
468
+ * @param pattern the pattern for the format.
469
+ * @param override the numbering system override.
470
+ * @param locale the given locale.
471
+ * @param status Output param set to success/failure code.
472
+ * @stable ICU 4.2
473
+ */
474
+ SimpleDateFormat(const UnicodeString& pattern,
475
+ const UnicodeString& override,
476
+ const Locale& locale,
477
+ UErrorCode& status);
478
+
479
+ /**
480
+ * Construct a SimpleDateFormat using the given pattern and locale-specific
481
+ * symbol data. The formatter takes ownership of the DateFormatSymbols object;
482
+ * the caller is no longer responsible for deleting it.
483
+ * @param pattern the given pattern for the format.
484
+ * @param formatDataToAdopt the symbols to be adopted.
485
+ * @param status Output param set to success/faulure code.
486
+ * @stable ICU 2.0
487
+ */
488
+ SimpleDateFormat(const UnicodeString& pattern,
489
+ DateFormatSymbols* formatDataToAdopt,
490
+ UErrorCode& status);
491
+
492
+ /**
493
+ * Construct a SimpleDateFormat using the given pattern and locale-specific
494
+ * symbol data. The DateFormatSymbols object is NOT adopted; the caller
495
+ * remains responsible for deleting it.
496
+ * @param pattern the given pattern for the format.
497
+ * @param formatData the formatting symbols to be use.
498
+ * @param status Output param set to success/faulure code.
499
+ * @stable ICU 2.0
500
+ */
501
+ SimpleDateFormat(const UnicodeString& pattern,
502
+ const DateFormatSymbols& formatData,
503
+ UErrorCode& status);
504
+
505
+ /**
506
+ * Copy constructor.
507
+ * @stable ICU 2.0
508
+ */
509
+ SimpleDateFormat(const SimpleDateFormat&);
510
+
511
+ /**
512
+ * Assignment operator.
513
+ * @stable ICU 2.0
514
+ */
515
+ SimpleDateFormat& operator=(const SimpleDateFormat&);
516
+
517
+ /**
518
+ * Destructor.
519
+ * @stable ICU 2.0
520
+ */
521
+ virtual ~SimpleDateFormat();
522
+
523
+ /**
524
+ * Clone this Format object polymorphically. The caller owns the result and
525
+ * should delete it when done.
526
+ * @return A copy of the object.
527
+ * @stable ICU 2.0
528
+ */
529
+ virtual SimpleDateFormat* clone() const override;
530
+
531
+ /**
532
+ * Return true if the given Format objects are semantically equal. Objects
533
+ * of different subclasses are considered unequal.
534
+ * @param other the object to be compared with.
535
+ * @return true if the given Format objects are semantically equal.
536
+ * @stable ICU 2.0
537
+ */
538
+ virtual bool operator==(const Format& other) const override;
539
+
540
+
541
+ using DateFormat::format;
542
+
543
+ /**
544
+ * Format a date or time, which is the standard millis since 24:00 GMT, Jan
545
+ * 1, 1970. Overrides DateFormat pure virtual method.
546
+ * <P>
547
+ * Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->>
548
+ * 1996.07.10 AD at 15:08:56 PDT
549
+ *
550
+ * @param cal Calendar set to the date and time to be formatted
551
+ * into a date/time string.
552
+ * @param appendTo Output parameter to receive result.
553
+ * Result is appended to existing contents.
554
+ * @param pos The formatting position. On input: an alignment field,
555
+ * if desired. On output: the offsets of the alignment field.
556
+ * @return Reference to 'appendTo' parameter.
557
+ * @stable ICU 2.1
558
+ */
559
+ virtual UnicodeString& format( Calendar& cal,
560
+ UnicodeString& appendTo,
561
+ FieldPosition& pos) const override;
562
+
563
+ /**
564
+ * Format a date or time, which is the standard millis since 24:00 GMT, Jan
565
+ * 1, 1970. Overrides DateFormat pure virtual method.
566
+ * <P>
567
+ * Example: using the US locale: "yyyy.MM.dd e 'at' HH:mm:ss zzz" ->>
568
+ * 1996.07.10 AD at 15:08:56 PDT
569
+ *
570
+ * @param cal Calendar set to the date and time to be formatted
571
+ * into a date/time string.
572
+ * @param appendTo Output parameter to receive result.
573
+ * Result is appended to existing contents.
574
+ * @param posIter On return, can be used to iterate over positions
575
+ * of fields generated by this format call. Field values
576
+ * are defined in UDateFormatField.
577
+ * @param status Input/output param set to success/failure code.
578
+ * @return Reference to 'appendTo' parameter.
579
+ * @stable ICU 4.4
580
+ */
581
+ virtual UnicodeString& format( Calendar& cal,
582
+ UnicodeString& appendTo,
583
+ FieldPositionIterator* posIter,
584
+ UErrorCode& status) const override;
585
+
586
+ using DateFormat::parse;
587
+
588
+ /**
589
+ * Parse a date/time string beginning at the given parse position. For
590
+ * example, a time text "07/10/96 4:5 PM, PDT" will be parsed into a Date
591
+ * that is equivalent to Date(837039928046).
592
+ * <P>
593
+ * By default, parsing is lenient: If the input is not in the form used by
594
+ * this object's format method but can still be parsed as a date, then the
595
+ * parse succeeds. Clients may insist on strict adherence to the format by
596
+ * calling setLenient(false).
597
+ * @see DateFormat::setLenient(boolean)
598
+ *
599
+ * @param text The date/time string to be parsed
600
+ * @param cal A Calendar set on input to the date and time to be used for
601
+ * missing values in the date/time string being parsed, and set
602
+ * on output to the parsed date/time. When the calendar type is
603
+ * different from the internal calendar held by this SimpleDateFormat
604
+ * instance, the internal calendar will be cloned to a work
605
+ * calendar set to the same milliseconds and time zone as the
606
+ * cal parameter, field values will be parsed based on the work
607
+ * calendar, then the result (milliseconds and time zone) will
608
+ * be set in this calendar.
609
+ * @param pos On input, the position at which to start parsing; on
610
+ * output, the position at which parsing terminated, or the
611
+ * start position if the parse failed.
612
+ * @stable ICU 2.1
613
+ */
614
+ virtual void parse( const UnicodeString& text,
615
+ Calendar& cal,
616
+ ParsePosition& pos) const override;
617
+
618
+
619
+ /**
620
+ * Set the start UDate used to interpret two-digit year strings.
621
+ * When dates are parsed having 2-digit year strings, they are placed within
622
+ * a assumed range of 100 years starting on the two digit start date. For
623
+ * example, the string "24-Jan-17" may be in the year 1817, 1917, 2017, or
624
+ * some other year. SimpleDateFormat chooses a year so that the resultant
625
+ * date is on or after the two digit start date and within 100 years of the
626
+ * two digit start date.
627
+ * <P>
628
+ * By default, the two digit start date is set to 80 years before the current
629
+ * time at which a SimpleDateFormat object is created.
630
+ * @param d start UDate used to interpret two-digit year strings.
631
+ * @param status Filled in with U_ZERO_ERROR if the parse was successful, and with
632
+ * an error value if there was a parse error.
633
+ * @stable ICU 2.0
634
+ */
635
+ virtual void set2DigitYearStart(UDate d, UErrorCode& status);
636
+
637
+ /**
638
+ * Get the start UDate used to interpret two-digit year strings.
639
+ * When dates are parsed having 2-digit year strings, they are placed within
640
+ * a assumed range of 100 years starting on the two digit start date. For
641
+ * example, the string "24-Jan-17" may be in the year 1817, 1917, 2017, or
642
+ * some other year. SimpleDateFormat chooses a year so that the resultant
643
+ * date is on or after the two digit start date and within 100 years of the
644
+ * two digit start date.
645
+ * <P>
646
+ * By default, the two digit start date is set to 80 years before the current
647
+ * time at which a SimpleDateFormat object is created.
648
+ * @param status Filled in with U_ZERO_ERROR if the parse was successful, and with
649
+ * an error value if there was a parse error.
650
+ * @stable ICU 2.0
651
+ */
652
+ UDate get2DigitYearStart(UErrorCode& status) const;
653
+
654
+ /**
655
+ * Return a pattern string describing this date format.
656
+ * @param result Output param to receive the pattern.
657
+ * @return A reference to 'result'.
658
+ * @stable ICU 2.0
659
+ */
660
+ virtual UnicodeString& toPattern(UnicodeString& result) const;
661
+
662
+ /**
663
+ * Return a localized pattern string describing this date format.
664
+ * In most cases, this will return the same thing as toPattern(),
665
+ * but a locale can specify characters to use in pattern descriptions
666
+ * in place of the ones described in this class's class documentation.
667
+ * (Presumably, letters that would be more mnemonic in that locale's
668
+ * language.) This function would produce a pattern using those
669
+ * letters.
670
+ * <p>
671
+ * <b>Note:</b> This implementation depends on DateFormatSymbols::getLocalPatternChars()
672
+ * to get localized format pattern characters. ICU does not include
673
+ * localized pattern character data, therefore, unless user sets localized
674
+ * pattern characters manually, this method returns the same result as
675
+ * toPattern().
676
+ *
677
+ * @param result Receives the localized pattern.
678
+ * @param status Output param set to success/failure code on
679
+ * exit. If the pattern is invalid, this will be
680
+ * set to a failure result.
681
+ * @return A reference to 'result'.
682
+ * @stable ICU 2.0
683
+ */
684
+ virtual UnicodeString& toLocalizedPattern(UnicodeString& result,
685
+ UErrorCode& status) const;
686
+
687
+ /**
688
+ * Apply the given unlocalized pattern string to this date format.
689
+ * (i.e., after this call, this formatter will format dates according to
690
+ * the new pattern)
691
+ *
692
+ * @param pattern The pattern to be applied.
693
+ * @stable ICU 2.0
694
+ */
695
+ virtual void applyPattern(const UnicodeString& pattern);
696
+
697
+ /**
698
+ * Apply the given localized pattern string to this date format.
699
+ * (see toLocalizedPattern() for more information on localized patterns.)
700
+ *
701
+ * @param pattern The localized pattern to be applied.
702
+ * @param status Output param set to success/failure code on
703
+ * exit. If the pattern is invalid, this will be
704
+ * set to a failure result.
705
+ * @stable ICU 2.0
706
+ */
707
+ virtual void applyLocalizedPattern(const UnicodeString& pattern,
708
+ UErrorCode& status);
709
+
710
+ /**
711
+ * Gets the date/time formatting symbols (this is an object carrying
712
+ * the various strings and other symbols used in formatting: e.g., month
713
+ * names and abbreviations, time zone names, AM/PM strings, etc.)
714
+ * @return a copy of the date-time formatting data associated
715
+ * with this date-time formatter.
716
+ * @stable ICU 2.0
717
+ */
718
+ virtual const DateFormatSymbols* getDateFormatSymbols() const;
719
+
720
+ /**
721
+ * Set the date/time formatting symbols. The caller no longer owns the
722
+ * DateFormatSymbols object and should not delete it after making this call.
723
+ * @param newFormatSymbols the given date-time formatting symbols to copy.
724
+ * @stable ICU 2.0
725
+ */
726
+ virtual void adoptDateFormatSymbols(DateFormatSymbols* newFormatSymbols);
727
+
728
+ /**
729
+ * Set the date/time formatting data.
730
+ * @param newFormatSymbols the given date-time formatting symbols to copy.
731
+ * @stable ICU 2.0
732
+ */
733
+ virtual void setDateFormatSymbols(const DateFormatSymbols& newFormatSymbols);
734
+
735
+ /**
736
+ * Return the class ID for this class. This is useful only for comparing to
737
+ * a return value from getDynamicClassID(). For example:
738
+ * <pre>
739
+ * . Base* polymorphic_pointer = createPolymorphicObject();
740
+ * . if (polymorphic_pointer->getDynamicClassID() ==
741
+ * . erived::getStaticClassID()) ...
742
+ * </pre>
743
+ * @return The class ID for all objects of this class.
744
+ * @stable ICU 2.0
745
+ */
746
+ static UClassID U_EXPORT2 getStaticClassID();
747
+
748
+ /**
749
+ * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This
750
+ * method is to implement a simple version of RTTI, since not all C++
751
+ * compilers support genuine RTTI. Polymorphic operator==() and clone()
752
+ * methods call this method.
753
+ *
754
+ * @return The class ID for this object. All objects of a
755
+ * given class have the same class ID. Objects of
756
+ * other classes have different class IDs.
757
+ * @stable ICU 2.0
758
+ */
759
+ virtual UClassID getDynamicClassID() const override;
760
+
761
+ /**
762
+ * Set the calendar to be used by this date format. Initially, the default
763
+ * calendar for the specified or default locale is used. The caller should
764
+ * not delete the Calendar object after it is adopted by this call.
765
+ * Adopting a new calendar will change to the default symbols.
766
+ *
767
+ * @param calendarToAdopt Calendar object to be adopted.
768
+ * @stable ICU 2.0
769
+ */
770
+ virtual void adoptCalendar(Calendar* calendarToAdopt) override;
771
+
772
+ /* Cannot use #ifndef U_HIDE_INTERNAL_API for the following methods since they are virtual */
773
+ /**
774
+ * Sets the TimeZoneFormat to be used by this date/time formatter.
775
+ * The caller should not delete the TimeZoneFormat object after
776
+ * it is adopted by this call.
777
+ * @param timeZoneFormatToAdopt The TimeZoneFormat object to be adopted.
778
+ * @internal ICU 49 technology preview
779
+ */
780
+ virtual void adoptTimeZoneFormat(TimeZoneFormat* timeZoneFormatToAdopt);
781
+
782
+ /**
783
+ * Sets the TimeZoneFormat to be used by this date/time formatter.
784
+ * @param newTimeZoneFormat The TimeZoneFormat object to copy.
785
+ * @internal ICU 49 technology preview
786
+ */
787
+ virtual void setTimeZoneFormat(const TimeZoneFormat& newTimeZoneFormat);
788
+
789
+ /**
790
+ * Gets the time zone format object associated with this date/time formatter.
791
+ * @return the time zone format associated with this date/time formatter.
792
+ * @internal ICU 49 technology preview
793
+ */
794
+ virtual const TimeZoneFormat* getTimeZoneFormat() const;
795
+
796
+ /**
797
+ * Set a particular UDisplayContext value in the formatter, such as
798
+ * UDISPCTX_CAPITALIZATION_FOR_STANDALONE. Note: For getContext, see
799
+ * DateFormat.
800
+ * @param value The UDisplayContext value to set.
801
+ * @param status Input/output status. If at entry this indicates a failure
802
+ * status, the function will do nothing; otherwise this will be
803
+ * updated with any new status from the function.
804
+ * @stable ICU 53
805
+ */
806
+ virtual void setContext(UDisplayContext value, UErrorCode& status) override;
807
+
808
+ /**
809
+ * Overrides base class method and
810
+ * This method clears per field NumberFormat instances
811
+ * previously set by {@see adoptNumberFormat(const UnicodeString&, NumberFormat*, UErrorCode)}
812
+ * @param formatToAdopt the NumbeferFormat used
813
+ * @stable ICU 54
814
+ */
815
+ void adoptNumberFormat(NumberFormat *formatToAdopt) override;
816
+
817
+ /**
818
+ * Allow the user to set the NumberFormat for several fields
819
+ * It can be a single field like: "y"(year) or "M"(month)
820
+ * It can be several field combined together: "yM"(year and month)
821
+ * Note:
822
+ * 1 symbol field is enough for multiple symbol field (so "y" will override "yy", "yyy")
823
+ * If the field is not numeric, then override has no effect (like "MMM" will use abbreviation, not numerical field)
824
+ * Per field NumberFormat can also be cleared in {@see DateFormat::setNumberFormat(const NumberFormat& newNumberFormat)}
825
+ *
826
+ * @param fields the fields to override(like y)
827
+ * @param formatToAdopt the NumbeferFormat used
828
+ * @param status Receives a status code, which will be U_ZERO_ERROR
829
+ * if the operation succeeds.
830
+ * @stable ICU 54
831
+ */
832
+ void adoptNumberFormat(const UnicodeString& fields, NumberFormat *formatToAdopt, UErrorCode &status);
833
+
834
+ /**
835
+ * Get the numbering system to be used for a particular field.
836
+ * @param field The UDateFormatField to get
837
+ * @stable ICU 54
838
+ */
839
+ const NumberFormat * getNumberFormatForField(char16_t field) const;
840
+
841
+ #ifndef U_HIDE_INTERNAL_API
842
+ /**
843
+ * This is for ICU internal use only. Please do not use.
844
+ * Check whether the 'field' is smaller than all the fields covered in
845
+ * pattern, return true if it is. The sequence of calendar field,
846
+ * from large to small is: ERA, YEAR, MONTH, DATE, AM_PM, HOUR, MINUTE,...
847
+ * @param field the calendar field need to check against
848
+ * @return true if the 'field' is smaller than all the fields
849
+ * covered in pattern. false otherwise.
850
+ * @internal ICU 4.0
851
+ */
852
+ UBool isFieldUnitIgnored(UCalendarDateFields field) const;
853
+
854
+
855
+ /**
856
+ * This is for ICU internal use only. Please do not use.
857
+ * Check whether the 'field' is smaller than all the fields covered in
858
+ * pattern, return true if it is. The sequence of calendar field,
859
+ * from large to small is: ERA, YEAR, MONTH, DATE, AM_PM, HOUR, MINUTE,...
860
+ * @param pattern the pattern to check against
861
+ * @param field the calendar field need to check against
862
+ * @return true if the 'field' is smaller than all the fields
863
+ * covered in pattern. false otherwise.
864
+ * @internal ICU 4.0
865
+ */
866
+ static UBool isFieldUnitIgnored(const UnicodeString& pattern,
867
+ UCalendarDateFields field);
868
+
869
+ /**
870
+ * This is for ICU internal use only. Please do not use.
871
+ * Get the locale of this simple date formatter.
872
+ * It is used in DateIntervalFormat.
873
+ *
874
+ * @return locale in this simple date formatter
875
+ * @internal ICU 4.0
876
+ */
877
+ const Locale& getSmpFmtLocale() const;
878
+
879
+ #if APPLE_ICU_CHANGES
880
+ // rdar://
881
+ /**
882
+ * Apple addition
883
+ * This is for ICU internal use only. Please do not use.
884
+ * Get the capitalization break iterator of this simple date formatter.
885
+ * Should be cloned before using it.
886
+ * It is used in udat.
887
+ *
888
+ * @return capitalization break iterator
889
+ * @internal
890
+ */
891
+ BreakIterator* getCapitalizationBrkIter(void) const;
892
+ #endif // APPLE_ICU_CHANGES
893
+
894
+ #endif /* U_HIDE_INTERNAL_API */
895
+
896
+ private:
897
+ friend class DateFormat;
898
+ friend class DateIntervalFormat;
899
+
900
+ void initializeDefaultCentury();
901
+
902
+ void initializeBooleanAttributes();
903
+
904
+ SimpleDateFormat() = delete; // default constructor not implemented
905
+
906
+ /**
907
+ * Used by the DateFormat factory methods to construct a SimpleDateFormat.
908
+ * @param timeStyle the time style.
909
+ * @param dateStyle the date style.
910
+ * @param locale the given locale.
911
+ * @param status Output param set to success/failure code on
912
+ * exit.
913
+ */
914
+ SimpleDateFormat(EStyle timeStyle, EStyle dateStyle, const Locale& locale, UErrorCode& status);
915
+
916
+ /**
917
+ * Construct a SimpleDateFormat for the given locale. If no resource data
918
+ * is available, create an object of last resort, using hard-coded strings.
919
+ * This is an internal method, called by DateFormat. It should never fail.
920
+ * @param locale the given locale.
921
+ * @param status Output param set to success/failure code on
922
+ * exit.
923
+ */
924
+ SimpleDateFormat(const Locale& locale, UErrorCode& status); // Use default pattern
925
+
926
+ /**
927
+ * Hook called by format(... FieldPosition& ...) and format(...FieldPositionIterator&...)
928
+ */
929
+ UnicodeString& _format(Calendar& cal, UnicodeString& appendTo, FieldPositionHandler& handler, UErrorCode& status) const;
930
+
931
+ /**
932
+ * Called by format() to format a single field.
933
+ *
934
+ * @param appendTo Output parameter to receive result.
935
+ * Result is appended to existing contents.
936
+ * @param ch The format character we encountered in the pattern.
937
+ * @param count Number of characters in the current pattern symbol (e.g.,
938
+ * "yyyy" in the pattern would result in a call to this function
939
+ * with ch equal to 'y' and count equal to 4)
940
+ * @param capitalizationContext Capitalization context for this date format.
941
+ * @param fieldNum Zero-based numbering of current field within the overall format.
942
+ * @param handler Records information about field positions.
943
+ * @param cal Calendar to use
944
+ * @param status Receives a status code, which will be U_ZERO_ERROR if the operation
945
+ * succeeds.
946
+ */
947
+ void subFormat(UnicodeString &appendTo,
948
+ char16_t ch,
949
+ int32_t count,
950
+ UDisplayContext capitalizationContext,
951
+ int32_t fieldNum,
952
+ char16_t fieldToOutput,
953
+ FieldPositionHandler& handler,
954
+ Calendar& cal,
955
+ UErrorCode& status) const; // in case of illegal argument
956
+
957
+ /**
958
+ * Used by subFormat() to format a numeric value.
959
+ * Appends to toAppendTo a string representation of "value"
960
+ * having a number of digits between "minDigits" and
961
+ * "maxDigits". Uses the DateFormat's NumberFormat.
962
+ *
963
+ * @param currentNumberFormat
964
+ * @param appendTo Output parameter to receive result.
965
+ * Formatted number is appended to existing contents.
966
+ * @param value Value to format.
967
+ * @param minDigits Minimum number of digits the result should have
968
+ * @param maxDigits Maximum number of digits the result should have
969
+ */
970
+ void zeroPaddingNumber(const NumberFormat *currentNumberFormat,
971
+ UnicodeString &appendTo,
972
+ int32_t value,
973
+ int32_t minDigits,
974
+ int32_t maxDigits) const;
975
+
976
+ /**
977
+ * Return true if the given format character, occurring count
978
+ * times, represents a numeric field.
979
+ */
980
+ static UBool isNumeric(char16_t formatChar, int32_t count);
981
+
982
+ /**
983
+ * Returns true if the patternOffset is at the start of a numeric field.
984
+ */
985
+ static UBool isAtNumericField(const UnicodeString &pattern, int32_t patternOffset);
986
+
987
+ /**
988
+ * Returns true if the patternOffset is right after a non-numeric field.
989
+ */
990
+ static UBool isAfterNonNumericField(const UnicodeString &pattern, int32_t patternOffset);
991
+
992
+ /**
993
+ * initializes fCalendar from parameters. Returns fCalendar as a convenience.
994
+ * @param adoptZone Zone to be adopted, or nullptr for TimeZone::createDefault().
995
+ * @param locale Locale of the calendar
996
+ * @param status Error code
997
+ * @return the newly constructed fCalendar
998
+ */
999
+ Calendar *initializeCalendar(TimeZone* adoptZone, const Locale& locale, UErrorCode& status);
1000
+
1001
+ /**
1002
+ * Called by several of the constructors to load pattern data and formatting symbols
1003
+ * out of a resource bundle and initialize the locale based on it.
1004
+ * @param timeStyle The time style, as passed to DateFormat::createDateInstance().
1005
+ * @param dateStyle The date style, as passed to DateFormat::createTimeInstance().
1006
+ * @param locale The locale to load the patterns from.
1007
+ * @param status Filled in with an error code if loading the data from the
1008
+ * resources fails.
1009
+ */
1010
+ void construct(EStyle timeStyle, EStyle dateStyle, const Locale& locale, UErrorCode& status);
1011
+
1012
+ #if APPLE_ICU_CHANGES
1013
+ // rdar://
1014
+ UnicodeString getPatternForTimeStyle(EStyle timeStyle,
1015
+ const Locale& locale,
1016
+ UResourceBundle* dateTimePatterns,
1017
+ UnicodeString& ovrStr,
1018
+ UErrorCode& status);
1019
+ UnicodeString getPatternForDateStyle(EStyle dateStyle,
1020
+ UResourceBundle* languageDateTimePatterns,
1021
+ UResourceBundle* countryDateTimePatterns,
1022
+ UBool& fallingBackByCountry,
1023
+ UnicodeString& ovrStr,
1024
+ UErrorCode& status);
1025
+ UnicodeString getPatternString(int32_t index,
1026
+ UResourceBundle* dateTimePatterns,
1027
+ UnicodeString& ovrStr,
1028
+ UErrorCode& status);
1029
+ #endif // APPLE_ICU_CHANGES
1030
+
1031
+ /**
1032
+ * Called by construct() and the various constructors to set up the SimpleDateFormat's
1033
+ * Calendar and NumberFormat objects.
1034
+ * @param locale The locale for which we want a Calendar and a NumberFormat.
1035
+ * @param status Filled in with an error code if creating either subobject fails.
1036
+ */
1037
+ void initialize(const Locale& locale, UErrorCode& status);
1038
+
1039
+ /**
1040
+ * Private code-size reduction function used by subParse.
1041
+ * @param text the time text being parsed.
1042
+ * @param start where to start parsing.
1043
+ * @param field the date field being parsed.
1044
+ * @param stringArray the string array to parsed.
1045
+ * @param stringArrayCount the size of the array.
1046
+ * @param monthPattern pointer to leap month pattern, or nullptr if none.
1047
+ * @param cal a Calendar set to the date and time to be formatted
1048
+ * into a date/time string.
1049
+ * @return the new start position if matching succeeded; a negative number
1050
+ * indicating matching failure, otherwise.
1051
+ */
1052
+ int32_t matchString(const UnicodeString& text, int32_t start, UCalendarDateFields field,
1053
+ const UnicodeString* stringArray, int32_t stringArrayCount,
1054
+ const UnicodeString* monthPattern, Calendar& cal) const;
1055
+
1056
+ /**
1057
+ * Private code-size reduction function used by subParse. Only for UCAL_MONTH
1058
+ * @param text the time text being parsed.
1059
+ * @param start where to start parsing.
1060
+ * @param wideStringArray the wide string array to parsed.
1061
+ * @param shortStringArray the short string array to parsed.
1062
+ * @param stringArrayCount the size of the string arrays.
1063
+ * @param cal a Calendar set to the date and time to be formatted
1064
+ * into a date/time string.
1065
+ * @return the new start position if matching succeeded; a negative number
1066
+ * indicating matching failure, otherwise.
1067
+ */
1068
+ int32_t matchAlphaMonthStrings(const UnicodeString& text, int32_t start,
1069
+ const UnicodeString* wideStringArray, const UnicodeString* shortStringArray,
1070
+ int32_t stringArrayCount, Calendar& cal) const;
1071
+
1072
+ /**
1073
+ * Private code-size reduction function used by subParse.
1074
+ * @param text the time text being parsed.
1075
+ * @param start where to start parsing.
1076
+ * @param field the date field being parsed.
1077
+ * @param stringArray the string array to parsed.
1078
+ * @param stringArrayCount the size of the array.
1079
+ * @param cal a Calendar set to the date and time to be formatted
1080
+ * into a date/time string.
1081
+ * @return the new start position if matching succeeded; a negative number
1082
+ * indicating matching failure, otherwise.
1083
+ */
1084
+ int32_t matchQuarterString(const UnicodeString& text, int32_t start, UCalendarDateFields field,
1085
+ const UnicodeString* stringArray, int32_t stringArrayCount, Calendar& cal) const;
1086
+
1087
+ /**
1088
+ * Used by subParse() to match localized day period strings.
1089
+ */
1090
+ int32_t matchDayPeriodStrings(const UnicodeString& text, int32_t start,
1091
+ const UnicodeString* stringArray, int32_t stringArrayCount,
1092
+ int32_t &dayPeriod) const;
1093
+
1094
+ /**
1095
+ * Private function used by subParse to match literal pattern text.
1096
+ *
1097
+ * @param pattern the pattern string
1098
+ * @param patternOffset the starting offset into the pattern text. On
1099
+ * output will be set the offset of the first non-literal character in the pattern
1100
+ * @param text the text being parsed
1101
+ * @param textOffset the starting offset into the text. On output
1102
+ * will be set to the offset of the character after the match
1103
+ * @param whitespaceLenient <code>true</code> if whitespace parse is lenient, <code>false</code> otherwise.
1104
+ * @param partialMatchLenient <code>true</code> if partial match parse is lenient, <code>false</code> otherwise.
1105
+ * @param oldLeniency <code>true</code> if old leniency control is lenient, <code>false</code> otherwise.
1106
+ *
1107
+ * @return <code>true</code> if the literal text could be matched, <code>false</code> otherwise.
1108
+ */
1109
+ static UBool matchLiterals(const UnicodeString &pattern, int32_t &patternOffset,
1110
+ const UnicodeString &text, int32_t &textOffset,
1111
+ UBool whitespaceLenient, UBool partialMatchLenient, UBool oldLeniency);
1112
+
1113
+ /**
1114
+ * Private member function that converts the parsed date strings into
1115
+ * timeFields. Returns -start (for ParsePosition) if failed.
1116
+ * @param text the time text to be parsed.
1117
+ * @param start where to start parsing.
1118
+ * @param ch the pattern character for the date field text to be parsed.
1119
+ * @param count the count of a pattern character.
1120
+ * @param obeyCount if true then the count is strictly obeyed.
1121
+ * @param allowNegative
1122
+ * @param ambiguousYear If true then the two-digit year == the default start year.
1123
+ * @param saveHebrewMonth Used to hang onto month until year is known.
1124
+ * @param cal a Calendar set to the date and time to be formatted
1125
+ * into a date/time string.
1126
+ * @param patLoc
1127
+ * @param numericLeapMonthFormatter If non-null, used to parse numeric leap months.
1128
+ * @param tzTimeType the type of parsed time zone - standard, daylight or unknown (output).
1129
+ * This parameter can be nullptr if caller does not need the information.
1130
+ * @return the new start position if matching succeeded; a negative number
1131
+ * indicating matching failure, otherwise.
1132
+ */
1133
+ int32_t subParse(const UnicodeString& text, int32_t& start, char16_t ch, int32_t count,
1134
+ UBool obeyCount, UBool allowNegative, UBool ambiguousYear[], int32_t& saveHebrewMonth, Calendar& cal,
1135
+ int32_t patLoc, MessageFormat * numericLeapMonthFormatter, UTimeZoneFormatTimeType *tzTimeType,
1136
+ int32_t *dayPeriod=nullptr) const;
1137
+
1138
+ void parseInt(const UnicodeString& text,
1139
+ Formattable& number,
1140
+ ParsePosition& pos,
1141
+ UBool allowNegative,
1142
+ const NumberFormat *fmt) const;
1143
+
1144
+ void parseInt(const UnicodeString& text,
1145
+ Formattable& number,
1146
+ int32_t maxDigits,
1147
+ ParsePosition& pos,
1148
+ UBool allowNegative,
1149
+ const NumberFormat *fmt) const;
1150
+
1151
+ int32_t checkIntSuffix(const UnicodeString& text, int32_t start,
1152
+ int32_t patLoc, UBool isNegative) const;
1153
+
1154
+ /**
1155
+ * Counts number of digit code points in the specified text.
1156
+ *
1157
+ * @param text input text
1158
+ * @param start start index, inclusive
1159
+ * @param end end index, exclusive
1160
+ * @return number of digits found in the text in the specified range.
1161
+ */
1162
+ int32_t countDigits(const UnicodeString& text, int32_t start, int32_t end) const;
1163
+
1164
+ /**
1165
+ * Translate a pattern, mapping each character in the from string to the
1166
+ * corresponding character in the to string. Return an error if the original
1167
+ * pattern contains an unmapped character, or if a quote is unmatched.
1168
+ * Quoted (single quotes only) material is not translated.
1169
+ * @param originalPattern the original pattern.
1170
+ * @param translatedPattern Output param to receive the translited pattern.
1171
+ * @param from the characters to be translited from.
1172
+ * @param to the characters to be translited to.
1173
+ * @param status Receives a status code, which will be U_ZERO_ERROR
1174
+ * if the operation succeeds.
1175
+ */
1176
+ static void translatePattern(const UnicodeString& originalPattern,
1177
+ UnicodeString& translatedPattern,
1178
+ const UnicodeString& from,
1179
+ const UnicodeString& to,
1180
+ UErrorCode& status);
1181
+
1182
+ /**
1183
+ * Sets the starting date of the 100-year window that dates with 2-digit years
1184
+ * are considered to fall within.
1185
+ * @param startDate the start date
1186
+ * @param status Receives a status code, which will be U_ZERO_ERROR
1187
+ * if the operation succeeds.
1188
+ */
1189
+ void parseAmbiguousDatesAsAfter(UDate startDate, UErrorCode& status);
1190
+
1191
+ /**
1192
+ * Return the length matched by the given affix, or -1 if none.
1193
+ * Runs of white space in the affix, match runs of white space in
1194
+ * the input.
1195
+ * @param affix pattern string, taken as a literal
1196
+ * @param input input text
1197
+ * @param pos offset into input at which to begin matching
1198
+ * @return length of input that matches, or -1 if match failure
1199
+ */
1200
+ int32_t compareSimpleAffix(const UnicodeString& affix,
1201
+ const UnicodeString& input,
1202
+ int32_t pos) const;
1203
+
1204
+ /**
1205
+ * Skip over a run of zero or more Pattern_White_Space characters at
1206
+ * pos in text.
1207
+ */
1208
+ int32_t skipPatternWhiteSpace(const UnicodeString& text, int32_t pos) const;
1209
+
1210
+ /**
1211
+ * Skip over a run of zero or more isUWhiteSpace() characters at pos
1212
+ * in text.
1213
+ */
1214
+ int32_t skipUWhiteSpace(const UnicodeString& text, int32_t pos) const;
1215
+
1216
+ /**
1217
+ * Initialize SimpleNumberFormat instance
1218
+ */
1219
+ void initSimpleNumberFormatter(UErrorCode &status);
1220
+
1221
+ /**
1222
+ * Initialize NumberFormat instances used for numbering system overrides.
1223
+ */
1224
+ void initNumberFormatters(const Locale &locale,UErrorCode &status);
1225
+
1226
+ /**
1227
+ * Parse the given override string and set up structures for number formats
1228
+ */
1229
+ void processOverrideString(const Locale &locale, const UnicodeString &str, int8_t type, UErrorCode &status);
1230
+
1231
+ /**
1232
+ * Used to map pattern characters to Calendar field identifiers.
1233
+ */
1234
+ static const UCalendarDateFields fgPatternIndexToCalendarField[];
1235
+
1236
+ /**
1237
+ * Map index into pattern character string to DateFormat field number
1238
+ */
1239
+ static const UDateFormatField fgPatternIndexToDateFormatField[];
1240
+
1241
+ /**
1242
+ * Lazy TimeZoneFormat instantiation, semantically const
1243
+ */
1244
+ TimeZoneFormat *tzFormat(UErrorCode &status) const;
1245
+
1246
+ const NumberFormat* getNumberFormatByIndex(UDateFormatField index) const;
1247
+
1248
+ /**
1249
+ * Used to map Calendar field to field level.
1250
+ * The larger the level, the smaller the field unit.
1251
+ * For example, UCAL_ERA level is 0, UCAL_YEAR level is 10,
1252
+ * UCAL_MONTH level is 20.
1253
+ */
1254
+ static const int32_t fgCalendarFieldToLevel[];
1255
+
1256
+ /**
1257
+ * Map calendar field letter into calendar field level.
1258
+ */
1259
+ static int32_t getLevelFromChar(char16_t ch);
1260
+
1261
+ /**
1262
+ * Tell if a character can be used to define a field in a format string.
1263
+ */
1264
+ static UBool isSyntaxChar(char16_t ch);
1265
+
1266
+ /**
1267
+ * The formatting pattern for this formatter.
1268
+ */
1269
+ UnicodeString fPattern;
1270
+
1271
+ /**
1272
+ * The numbering system override for dates.
1273
+ */
1274
+ UnicodeString fDateOverride;
1275
+
1276
+ /**
1277
+ * The numbering system override for times.
1278
+ */
1279
+ UnicodeString fTimeOverride;
1280
+
1281
+
1282
+ /**
1283
+ * The original locale used (for reloading symbols)
1284
+ */
1285
+ Locale fLocale;
1286
+
1287
+ /**
1288
+ * A pointer to an object containing the strings to use in formatting (e.g.,
1289
+ * month and day names, AM and PM strings, time zone names, etc.)
1290
+ */
1291
+ DateFormatSymbols* fSymbols = nullptr; // Owned
1292
+
1293
+ /**
1294
+ * The time zone formatter
1295
+ */
1296
+ TimeZoneFormat* fTimeZoneFormat = nullptr;
1297
+
1298
+ /**
1299
+ * If dates have ambiguous years, we map them into the century starting
1300
+ * at defaultCenturyStart, which may be any date. If defaultCenturyStart is
1301
+ * set to SYSTEM_DEFAULT_CENTURY, which it is by default, then the system
1302
+ * values are used. The instance values defaultCenturyStart and
1303
+ * defaultCenturyStartYear are only used if explicitly set by the user
1304
+ * through the API method parseAmbiguousDatesAsAfter().
1305
+ */
1306
+ UDate fDefaultCenturyStart;
1307
+
1308
+ UBool fHasMinute;
1309
+ UBool fHasSecond;
1310
+ UBool fHasHanYearChar; // pattern contains the Han year character \u5E74
1311
+ #if APPLE_ICU_CHANGES
1312
+ // rdar://106782612 compatibility: format with plain spaces for specific app(s)
1313
+ UBool fUsePlainSpaces;
1314
+ #endif // APPLE_ICU_CHANGES
1315
+
1316
+ /**
1317
+ * Sets fHasMinutes and fHasSeconds.
1318
+ */
1319
+ void parsePattern();
1320
+
1321
+ /**
1322
+ * See documentation for defaultCenturyStart.
1323
+ */
1324
+ /*transient*/ int32_t fDefaultCenturyStartYear;
1325
+
1326
+ struct NSOverride : public UMemory {
1327
+ const SharedNumberFormat *snf;
1328
+ int32_t hash;
1329
+ NSOverride *next;
1330
+ void free();
1331
+ NSOverride() : snf(nullptr), hash(0), next(nullptr) {
1332
+ }
1333
+ ~NSOverride();
1334
+ };
1335
+
1336
+ /**
1337
+ * The number format in use for each date field. nullptr means fall back
1338
+ * to fNumberFormat in DateFormat.
1339
+ */
1340
+ const SharedNumberFormat **fSharedNumberFormatters = nullptr;
1341
+
1342
+ /**
1343
+ * Number formatter pre-allocated for fast performance
1344
+ *
1345
+ * This references the decimal symbols from fNumberFormatter if it is an instance
1346
+ * of DecimalFormat (and is otherwise null). This should always be cleaned up before
1347
+ * destroying fNumberFormatter.
1348
+ */
1349
+ const number::SimpleNumberFormatter* fSimpleNumberFormatter = nullptr;
1350
+
1351
+ UBool fHaveDefaultCentury;
1352
+
1353
+ #if APPLE_ICU_CHANGES
1354
+ // rdar://
1355
+ BreakIterator* fCapitalizationBrkIter = nullptr;
1356
+ #else
1357
+ const BreakIterator* fCapitalizationBrkIter = nullptr;
1358
+ #endif // APPLE_ICU_CHANGES
1359
+ };
1360
+
1361
+ inline UDate
1362
+ SimpleDateFormat::get2DigitYearStart(UErrorCode& /*status*/) const
1363
+ {
1364
+ return fDefaultCenturyStart;
1365
+ }
1366
+
1367
+ #if APPLE_ICU_CHANGES
1368
+ // rdar://
1369
+ inline BreakIterator*
1370
+ SimpleDateFormat::getCapitalizationBrkIter() const
1371
+ {
1372
+ return fCapitalizationBrkIter;
1373
+ }
1374
+ #endif // APPLE_ICU_CHANGES
1375
+
1376
+ U_NAMESPACE_END
1377
+
1378
+ #endif /* #if !UCONFIG_NO_FORMATTING */
1379
+
1380
+ #endif /* U_SHOW_CPLUSPLUS_API */
1381
+
1382
+ #endif // _SMPDTFMT
1383
+ //eof