@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,1299 @@
1
+ // © 2016 and later: Unicode, Inc. and others.
2
+ // License & terms of use: http://www.unicode.org/copyright.html
3
+ /*
4
+ ********************************************************************************
5
+ * Copyright (C) 1997-2016, International Business Machines Corporation and others.
6
+ * All Rights Reserved.
7
+ ********************************************************************************
8
+ *
9
+ * File NUMFMT.H
10
+ *
11
+ * Modification History:
12
+ *
13
+ * Date Name Description
14
+ * 02/19/97 aliu Converted from java.
15
+ * 03/18/97 clhuang Updated per C++ implementation.
16
+ * 04/17/97 aliu Changed DigitCount to int per code review.
17
+ * 07/20/98 stephen JDK 1.2 sync up. Added scientific support.
18
+ * Changed naming conventions to match C++ guidelines
19
+ * Deprecated Java style constants (eg, INTEGER_FIELD)
20
+ ********************************************************************************
21
+ */
22
+
23
+ #ifndef NUMFMT_H
24
+ #define NUMFMT_H
25
+
26
+
27
+ #include <_foundation_unicode/utypes.h>
28
+
29
+ #if U_SHOW_CPLUSPLUS_API
30
+
31
+ /**
32
+ * \file
33
+ * \brief C++ API: Compatibility APIs for number formatting.
34
+ */
35
+
36
+ #if !UCONFIG_NO_FORMATTING
37
+
38
+ #include <_foundation_unicode/unistr.h>
39
+ #include <_foundation_unicode/format.h>
40
+ #include <_foundation_unicode/unum.h> // UNumberFormatStyle
41
+ #include <_foundation_unicode/locid.h>
42
+ #include <_foundation_unicode/stringpiece.h>
43
+ #include <_foundation_unicode/curramt.h>
44
+ #include <_foundation_unicode/udisplaycontext.h>
45
+
46
+ class NumberFormatTest;
47
+
48
+ U_NAMESPACE_BEGIN
49
+
50
+ class SharedNumberFormat;
51
+
52
+ #if !UCONFIG_NO_SERVICE
53
+ class NumberFormatFactory;
54
+ class StringEnumeration;
55
+ #endif
56
+
57
+ /**
58
+ * <p><strong>IMPORTANT:</strong> New users are strongly encouraged to see if
59
+ * numberformatter.h fits their use case. Although not deprecated, this header
60
+ * is provided for backwards compatibility only.
61
+ *
62
+ * Abstract base class for all number formats. Provides interface for
63
+ * formatting and parsing a number. Also provides methods for
64
+ * determining which locales have number formats, and what their names
65
+ * are.
66
+ *
67
+ * \headerfile unicode/numfmt.h <_foundation_unicode/numfmt.h>
68
+ * <P>
69
+ * NumberFormat helps you to format and parse numbers for any locale.
70
+ * Your code can be completely independent of the locale conventions
71
+ * for decimal points, thousands-separators, or even the particular
72
+ * decimal digits used, or whether the number format is even decimal.
73
+ * <P>
74
+ * To format a number for the current Locale, use one of the static
75
+ * factory methods:
76
+ * \code
77
+ * #include <iostream>
78
+ * #include <_foundation_unicode/numfmt.h>
79
+ * #include <_foundation_unicode/unistr.h>
80
+ * #include <_foundation_unicode/ustream.h>
81
+ * using namespace std;
82
+ *
83
+ * int main() {
84
+ * double myNumber = 7.0;
85
+ * UnicodeString myString;
86
+ * UErrorCode success = U_ZERO_ERROR;
87
+ * NumberFormat* nf = NumberFormat::createInstance(success);
88
+ * nf->format(myNumber, myString);
89
+ * cout << " Example 1: " << myString << endl;
90
+ * }
91
+ * \endcode
92
+ * Note that there are additional factory methods within subclasses of
93
+ * NumberFormat.
94
+ * <P>
95
+ * If you are formatting multiple numbers, it is more efficient to get
96
+ * the format and use it multiple times so that the system doesn't
97
+ * have to fetch the information about the local language and country
98
+ * conventions multiple times.
99
+ * \code
100
+ * UnicodeString myString;
101
+ * UErrorCode success = U_ZERO_ERROR;
102
+ * NumberFormat *nf = NumberFormat::createInstance( success );
103
+ * for (int32_t number: {123, 3333, -1234567}) {
104
+ * nf->format(number, myString);
105
+ * myString += "; ";
106
+ * }
107
+ * cout << " Example 2: " << myString << endl;
108
+ * \endcode
109
+ * To format a number for a different Locale, specify it in the
110
+ * call to \c createInstance().
111
+ * \code
112
+ * nf = NumberFormat::createInstance(Locale::getFrench(), success);
113
+ * \endcode
114
+ * You can use a \c NumberFormat to parse also.
115
+ * \code
116
+ * UErrorCode success;
117
+ * Formattable result(-999); // initialized with error code
118
+ * nf->parse(myString, result, success);
119
+ * \endcode
120
+ * Use \c createInstance() to get the normal number format for a \c Locale.
121
+ * There are other static factory methods available. Use \c createCurrencyInstance()
122
+ * to get the currency number format for that country. Use \c createPercentInstance()
123
+ * to get a format for displaying percentages. With this format, a
124
+ * fraction from 0.53 is displayed as 53%.
125
+ * <P>
126
+ * The type of number formatting can be specified by passing a 'style' parameter to \c createInstance().
127
+ * For example, use\n
128
+ * \c createInstance(locale, UNUM_DECIMAL, errorCode) to get the normal number format,\n
129
+ * \c createInstance(locale, UNUM_PERCENT, errorCode) to get a format for displaying percentage,\n
130
+ * \c createInstance(locale, UNUM_SCIENTIFIC, errorCode) to get a format for displaying scientific number,\n
131
+ * \c createInstance(locale, UNUM_CURRENCY, errorCode) to get the currency number format,
132
+ * in which the currency is represented by its symbol, for example, "$3.00".\n
133
+ * \c createInstance(locale, UNUM_CURRENCY_ISO, errorCode) to get the currency number format,
134
+ * in which the currency is represented by its ISO code, for example "USD3.00".\n
135
+ * \c createInstance(locale, UNUM_CURRENCY_PLURAL, errorCode) to get the currency number format,
136
+ * in which the currency is represented by its full name in plural format,
137
+ * for example, "3.00 US dollars" or "1.00 US dollar".
138
+ * <P>
139
+ * You can also control the display of numbers with such methods as
140
+ * \c getMinimumFractionDigits(). If you want even more control over the
141
+ * format or parsing, or want to give your users more control, you can
142
+ * try dynamic_casting the \c NumberFormat you get from the factory methods to a
143
+ * \c DecimalFormat. This will work for the vast majority of
144
+ * countries; just remember to test for nullptr in case you
145
+ * encounter an unusual one.
146
+ * <P>
147
+ * You can also use forms of the parse and format methods with
148
+ * \c ParsePosition and \c FieldPosition to allow you to:
149
+ * <ul type=round>
150
+ * <li>(a) progressively parse through pieces of a string.
151
+ * <li>(b) align the decimal point and other areas.
152
+ * </ul>
153
+ * For example, you can align numbers in two ways.
154
+ * <P>
155
+ * If you are using a monospaced font with spacing for alignment, you
156
+ * can pass the \c FieldPosition in your format call, with field =
157
+ * \c UNUM_INTEGER_FIELD. On output, \c getEndIndex will be set to the offset
158
+ * between the last character of the integer and the decimal. Add
159
+ * (desiredSpaceCount - getEndIndex) spaces at the front of the
160
+ * string.
161
+ * <P>
162
+ * If you are using proportional fonts, instead of padding with
163
+ * spaces, measure the width of the string in pixels from the start to
164
+ * getEndIndex. Then move the pen by (desiredPixelWidth -
165
+ * widthToAlignmentPoint) before drawing the text. It also works
166
+ * where there is no decimal, but possibly additional characters at
167
+ * the end, e.g. with parentheses in negative numbers: "(12)" for -12.
168
+ * <p>
169
+ * <em>User subclasses are not supported.</em> While clients may write
170
+ * subclasses, such code will not necessarily work and will not be
171
+ * guaranteed to work stably from release to release.
172
+ *
173
+ * @stable ICU 2.0
174
+ */
175
+ class U_I18N_API NumberFormat : public Format {
176
+ public:
177
+ /**
178
+ * Rounding mode.
179
+ *
180
+ * <p>
181
+ * For more detail on rounding modes, see:
182
+ * https://unicode-org.github.io/icu/userguide/format_parse/numbers/rounding-modes
183
+ *
184
+ * @stable ICU 2.4
185
+ */
186
+ enum ERoundingMode {
187
+ kRoundCeiling, /**< Round towards positive infinity */
188
+ kRoundFloor, /**< Round towards negative infinity */
189
+ kRoundDown, /**< Round towards zero */
190
+ kRoundUp, /**< Round away from zero */
191
+ kRoundHalfEven, /**< Round towards the nearest integer, or
192
+ towards the nearest even integer if equidistant */
193
+ kRoundHalfDown, /**< Round towards the nearest integer, or
194
+ towards zero if equidistant */
195
+ kRoundHalfUp, /**< Round towards the nearest integer, or
196
+ away from zero if equidistant */
197
+ /**
198
+ * Return U_FORMAT_INEXACT_ERROR if number does not format exactly.
199
+ * @stable ICU 4.8
200
+ */
201
+ kRoundUnnecessary,
202
+ /**
203
+ * Rounds ties toward the odd number.
204
+ * @stable ICU 73
205
+ */
206
+ kRoundHalfOdd,
207
+ /**
208
+ * Rounds ties toward +∞.
209
+ * @stable ICU 73
210
+ */
211
+ kRoundHalfCeiling,
212
+ /**
213
+ * Rounds ties toward -∞.
214
+ * @stable ICU 73
215
+ */
216
+ kRoundHalfFloor,
217
+ };
218
+
219
+ /**
220
+ * Alignment Field constants used to construct a FieldPosition object.
221
+ * Signifies that the position of the integer part or fraction part of
222
+ * a formatted number should be returned.
223
+ *
224
+ * Note: as of ICU 4.4, the values in this enum have been extended to
225
+ * support identification of all number format fields, not just those
226
+ * pertaining to alignment.
227
+ *
228
+ * These constants are provided for backwards compatibility only.
229
+ * Please use the C style constants defined in the header file unum.h.
230
+ *
231
+ * @see FieldPosition
232
+ * @stable ICU 2.0
233
+ */
234
+ enum EAlignmentFields {
235
+ /** @stable ICU 2.0 */
236
+ kIntegerField = UNUM_INTEGER_FIELD,
237
+ /** @stable ICU 2.0 */
238
+ kFractionField = UNUM_FRACTION_FIELD,
239
+ /** @stable ICU 2.0 */
240
+ kDecimalSeparatorField = UNUM_DECIMAL_SEPARATOR_FIELD,
241
+ /** @stable ICU 2.0 */
242
+ kExponentSymbolField = UNUM_EXPONENT_SYMBOL_FIELD,
243
+ /** @stable ICU 2.0 */
244
+ kExponentSignField = UNUM_EXPONENT_SIGN_FIELD,
245
+ /** @stable ICU 2.0 */
246
+ kExponentField = UNUM_EXPONENT_FIELD,
247
+ /** @stable ICU 2.0 */
248
+ kGroupingSeparatorField = UNUM_GROUPING_SEPARATOR_FIELD,
249
+ /** @stable ICU 2.0 */
250
+ kCurrencyField = UNUM_CURRENCY_FIELD,
251
+ /** @stable ICU 2.0 */
252
+ kPercentField = UNUM_PERCENT_FIELD,
253
+ /** @stable ICU 2.0 */
254
+ kPermillField = UNUM_PERMILL_FIELD,
255
+ /** @stable ICU 2.0 */
256
+ kSignField = UNUM_SIGN_FIELD,
257
+ /** @stable ICU 64 */
258
+ kMeasureUnitField = UNUM_MEASURE_UNIT_FIELD,
259
+ /** @stable ICU 64 */
260
+ kCompactField = UNUM_COMPACT_FIELD,
261
+
262
+ /**
263
+ * These constants are provided for backwards compatibility only.
264
+ * Please use the constants defined in the header file unum.h.
265
+ */
266
+ /** @stable ICU 2.0 */
267
+ INTEGER_FIELD = UNUM_INTEGER_FIELD,
268
+ /** @stable ICU 2.0 */
269
+ FRACTION_FIELD = UNUM_FRACTION_FIELD
270
+ };
271
+
272
+ /**
273
+ * Destructor.
274
+ * @stable ICU 2.0
275
+ */
276
+ virtual ~NumberFormat();
277
+
278
+ /**
279
+ * Clones this object polymorphically.
280
+ * The caller owns the result and should delete it when done.
281
+ * @return clone, or nullptr if an error occurred
282
+ * @stable ICU 2.0
283
+ */
284
+ virtual NumberFormat* clone() const override = 0;
285
+
286
+ /**
287
+ * Return true if the given Format objects are semantically equal.
288
+ * Objects of different subclasses are considered unequal.
289
+ * @return true if the given Format objects are semantically equal.
290
+ * @stable ICU 2.0
291
+ */
292
+ virtual bool operator==(const Format& other) const override;
293
+
294
+
295
+ using Format::format;
296
+
297
+ /**
298
+ * Format an object to produce a string. This method handles
299
+ * Formattable objects with numeric types. If the Formattable
300
+ * object type is not a numeric type, then it returns a failing
301
+ * UErrorCode.
302
+ *
303
+ * @param obj The object to format.
304
+ * @param appendTo Output parameter to receive result.
305
+ * Result is appended to existing contents.
306
+ * @param pos On input: an alignment field, if desired.
307
+ * On output: the offsets of the alignment field.
308
+ * @param status Output param filled with success/failure status.
309
+ * @return Reference to 'appendTo' parameter.
310
+ * @stable ICU 2.0
311
+ */
312
+ virtual UnicodeString& format(const Formattable& obj,
313
+ UnicodeString& appendTo,
314
+ FieldPosition& pos,
315
+ UErrorCode& status) const override;
316
+
317
+ /**
318
+ * Format an object to produce a string. This method handles
319
+ * Formattable objects with numeric types. If the Formattable
320
+ * object type is not a numeric type, then it returns a failing
321
+ * UErrorCode.
322
+ *
323
+ * @param obj The object to format.
324
+ * @param appendTo Output parameter to receive result.
325
+ * Result is appended to existing contents.
326
+ * @param posIter On return, can be used to iterate over positions
327
+ * of fields generated by this format call. Can be
328
+ * nullptr.
329
+ * @param status Output param filled with success/failure status.
330
+ * @return Reference to 'appendTo' parameter.
331
+ * @stable ICU 4.4
332
+ */
333
+ virtual UnicodeString& format(const Formattable& obj,
334
+ UnicodeString& appendTo,
335
+ FieldPositionIterator* posIter,
336
+ UErrorCode& status) const override;
337
+
338
+ /**
339
+ * Parse a string to produce an object. This methods handles
340
+ * parsing of numeric strings into Formattable objects with numeric
341
+ * types.
342
+ * <P>
343
+ * Before calling, set parse_pos.index to the offset you want to
344
+ * start parsing at in the source. After calling, parse_pos.index
345
+ * indicates the position after the successfully parsed text. If
346
+ * an error occurs, parse_pos.index is unchanged.
347
+ * <P>
348
+ * When parsing, leading whitespace is discarded (with successful
349
+ * parse), while trailing whitespace is left as is.
350
+ * <P>
351
+ * See Format::parseObject() for more.
352
+ *
353
+ * @param source The string to be parsed into an object.
354
+ * @param result Formattable to be set to the parse result.
355
+ * If parse fails, return contents are undefined.
356
+ * @param parse_pos The position to start parsing at. Upon return
357
+ * this param is set to the position after the
358
+ * last character successfully parsed. If the
359
+ * source is not parsed successfully, this param
360
+ * will remain unchanged.
361
+ * @return A newly created Formattable* object, or nullptr
362
+ * on failure. The caller owns this and should
363
+ * delete it when done.
364
+ * @stable ICU 2.0
365
+ */
366
+ virtual void parseObject(const UnicodeString& source,
367
+ Formattable& result,
368
+ ParsePosition& parse_pos) const override;
369
+
370
+ /**
371
+ * Format a double number. These methods call the NumberFormat
372
+ * pure virtual format() methods with the default FieldPosition.
373
+ *
374
+ * @param number The value to be formatted.
375
+ * @param appendTo Output parameter to receive result.
376
+ * Result is appended to existing contents.
377
+ * @return Reference to 'appendTo' parameter.
378
+ * @stable ICU 2.0
379
+ */
380
+ UnicodeString& format( double number,
381
+ UnicodeString& appendTo) const;
382
+
383
+ /**
384
+ * Format a long number. These methods call the NumberFormat
385
+ * pure virtual format() methods with the default FieldPosition.
386
+ *
387
+ * @param number The value to be formatted.
388
+ * @param appendTo Output parameter to receive result.
389
+ * Result is appended to existing contents.
390
+ * @return Reference to 'appendTo' parameter.
391
+ * @stable ICU 2.0
392
+ */
393
+ UnicodeString& format( int32_t number,
394
+ UnicodeString& appendTo) const;
395
+
396
+ /**
397
+ * Format an int64 number. These methods call the NumberFormat
398
+ * pure virtual format() methods with the default FieldPosition.
399
+ *
400
+ * @param number The value to be formatted.
401
+ * @param appendTo Output parameter to receive result.
402
+ * Result is appended to existing contents.
403
+ * @return Reference to 'appendTo' parameter.
404
+ * @stable ICU 2.8
405
+ */
406
+ UnicodeString& format( int64_t number,
407
+ UnicodeString& appendTo) const;
408
+
409
+ /**
410
+ * Format a double number. Concrete subclasses must implement
411
+ * these pure virtual methods.
412
+ *
413
+ * @param number The value to be formatted.
414
+ * @param appendTo Output parameter to receive result.
415
+ * Result is appended to existing contents.
416
+ * @param pos On input: an alignment field, if desired.
417
+ * On output: the offsets of the alignment field.
418
+ * @return Reference to 'appendTo' parameter.
419
+ * @stable ICU 2.0
420
+ */
421
+ virtual UnicodeString& format(double number,
422
+ UnicodeString& appendTo,
423
+ FieldPosition& pos) const = 0;
424
+ /**
425
+ * Format a double number. By default, the parent function simply
426
+ * calls the base class and does not return an error status.
427
+ * Therefore, the status may be ignored in some subclasses.
428
+ *
429
+ * @param number The value to be formatted.
430
+ * @param appendTo Output parameter to receive result.
431
+ * Result is appended to existing contents.
432
+ * @param pos On input: an alignment field, if desired.
433
+ * On output: the offsets of the alignment field.
434
+ * @param status error status
435
+ * @return Reference to 'appendTo' parameter.
436
+ * @internal
437
+ */
438
+ virtual UnicodeString& format(double number,
439
+ UnicodeString& appendTo,
440
+ FieldPosition& pos,
441
+ UErrorCode &status) const;
442
+ /**
443
+ * Format a double number. Subclasses must implement
444
+ * this method.
445
+ *
446
+ * @param number The value to be formatted.
447
+ * @param appendTo Output parameter to receive result.
448
+ * Result is appended to existing contents.
449
+ * @param posIter On return, can be used to iterate over positions
450
+ * of fields generated by this format call.
451
+ * Can be nullptr.
452
+ * @param status Output param filled with success/failure status.
453
+ * @return Reference to 'appendTo' parameter.
454
+ * @stable ICU 4.4
455
+ */
456
+ virtual UnicodeString& format(double number,
457
+ UnicodeString& appendTo,
458
+ FieldPositionIterator* posIter,
459
+ UErrorCode& status) const;
460
+ /**
461
+ * Format a long number. Concrete subclasses must implement
462
+ * these pure virtual methods.
463
+ *
464
+ * @param number The value to be formatted.
465
+ * @param appendTo Output parameter to receive result.
466
+ * Result is appended to existing contents.
467
+ * @param pos On input: an alignment field, if desired.
468
+ * On output: the offsets of the alignment field.
469
+ * @return Reference to 'appendTo' parameter.
470
+ * @stable ICU 2.0
471
+ */
472
+ virtual UnicodeString& format(int32_t number,
473
+ UnicodeString& appendTo,
474
+ FieldPosition& pos) const = 0;
475
+
476
+ /**
477
+ * Format a long number. Concrete subclasses may override
478
+ * this function to provide status return.
479
+ *
480
+ * @param number The value to be formatted.
481
+ * @param appendTo Output parameter to receive result.
482
+ * Result is appended to existing contents.
483
+ * @param pos On input: an alignment field, if desired.
484
+ * On output: the offsets of the alignment field.
485
+ * @param status the output status.
486
+ * @return Reference to 'appendTo' parameter.
487
+ * @internal
488
+ */
489
+ virtual UnicodeString& format(int32_t number,
490
+ UnicodeString& appendTo,
491
+ FieldPosition& pos,
492
+ UErrorCode &status) const;
493
+
494
+ /**
495
+ * Format an int32 number. Subclasses must implement
496
+ * this method.
497
+ *
498
+ * @param number The value to be formatted.
499
+ * @param appendTo Output parameter to receive result.
500
+ * Result is appended to existing contents.
501
+ * @param posIter On return, can be used to iterate over positions
502
+ * of fields generated by this format call.
503
+ * Can be nullptr.
504
+ * @param status Output param filled with success/failure status.
505
+ * @return Reference to 'appendTo' parameter.
506
+ * @stable ICU 4.4
507
+ */
508
+ virtual UnicodeString& format(int32_t number,
509
+ UnicodeString& appendTo,
510
+ FieldPositionIterator* posIter,
511
+ UErrorCode& status) const;
512
+ /**
513
+ * Format an int64 number. (Not abstract to retain compatibility
514
+ * with earlier releases, however subclasses should override this
515
+ * method as it just delegates to format(int32_t number...);
516
+ *
517
+ * @param number The value to be formatted.
518
+ * @param appendTo Output parameter to receive result.
519
+ * Result is appended to existing contents.
520
+ * @param pos On input: an alignment field, if desired.
521
+ * On output: the offsets of the alignment field.
522
+ * @return Reference to 'appendTo' parameter.
523
+ * @stable ICU 2.8
524
+ */
525
+ virtual UnicodeString& format(int64_t number,
526
+ UnicodeString& appendTo,
527
+ FieldPosition& pos) const;
528
+
529
+ /**
530
+ * Format an int64 number. (Not abstract to retain compatibility
531
+ * with earlier releases, however subclasses should override this
532
+ * method as it just delegates to format(int32_t number...);
533
+ *
534
+ * @param number The value to be formatted.
535
+ * @param appendTo Output parameter to receive result.
536
+ * Result is appended to existing contents.
537
+ * @param pos On input: an alignment field, if desired.
538
+ * On output: the offsets of the alignment field.
539
+ * @param status Output param filled with success/failure status.
540
+ * @return Reference to 'appendTo' parameter.
541
+ * @internal
542
+ */
543
+ virtual UnicodeString& format(int64_t number,
544
+ UnicodeString& appendTo,
545
+ FieldPosition& pos,
546
+ UErrorCode& status) const;
547
+ /**
548
+ * Format an int64 number. Subclasses must implement
549
+ * this method.
550
+ *
551
+ * @param number The value to be formatted.
552
+ * @param appendTo Output parameter to receive result.
553
+ * Result is appended to existing contents.
554
+ * @param posIter On return, can be used to iterate over positions
555
+ * of fields generated by this format call.
556
+ * Can be nullptr.
557
+ * @param status Output param filled with success/failure status.
558
+ * @return Reference to 'appendTo' parameter.
559
+ * @stable ICU 4.4
560
+ */
561
+ virtual UnicodeString& format(int64_t number,
562
+ UnicodeString& appendTo,
563
+ FieldPositionIterator* posIter,
564
+ UErrorCode& status) const;
565
+
566
+ /**
567
+ * Format a decimal number. Subclasses must implement
568
+ * this method. The syntax of the unformatted number is a "numeric string"
569
+ * as defined in the Decimal Arithmetic Specification, available at
570
+ * http://speleotrove.com/decimal
571
+ *
572
+ * @param number The unformatted number, as a string, to be formatted.
573
+ * @param appendTo Output parameter to receive result.
574
+ * Result is appended to existing contents.
575
+ * @param posIter On return, can be used to iterate over positions
576
+ * of fields generated by this format call.
577
+ * Can be nullptr.
578
+ * @param status Output param filled with success/failure status.
579
+ * @return Reference to 'appendTo' parameter.
580
+ * @stable ICU 4.4
581
+ */
582
+ virtual UnicodeString& format(StringPiece number,
583
+ UnicodeString& appendTo,
584
+ FieldPositionIterator* posIter,
585
+ UErrorCode& status) const;
586
+
587
+ // Can't use #ifndef U_HIDE_INTERNAL_API because these are virtual methods
588
+
589
+ /**
590
+ * Format a decimal number.
591
+ * The number is a DecimalQuantity wrapper onto a floating point decimal number.
592
+ * The default implementation in NumberFormat converts the decimal number
593
+ * to a double and formats that. Subclasses of NumberFormat that want
594
+ * to specifically handle big decimal numbers must override this method.
595
+ * class DecimalFormat does so.
596
+ *
597
+ * @param number The number, a DecimalQuantity format Decimal Floating Point.
598
+ * @param appendTo Output parameter to receive result.
599
+ * Result is appended to existing contents.
600
+ * @param posIter On return, can be used to iterate over positions
601
+ * of fields generated by this format call.
602
+ * @param status Output param filled with success/failure status.
603
+ * @return Reference to 'appendTo' parameter.
604
+ * @internal
605
+ */
606
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
607
+ UnicodeString& appendTo,
608
+ FieldPositionIterator* posIter,
609
+ UErrorCode& status) const;
610
+
611
+ /**
612
+ * Format a decimal number.
613
+ * The number is a DecimalQuantity wrapper onto a floating point decimal number.
614
+ * The default implementation in NumberFormat converts the decimal number
615
+ * to a double and formats that. Subclasses of NumberFormat that want
616
+ * to specifically handle big decimal numbers must override this method.
617
+ * class DecimalFormat does so.
618
+ *
619
+ * @param number The number, a DecimalQuantity format Decimal Floating Point.
620
+ * @param appendTo Output parameter to receive result.
621
+ * Result is appended to existing contents.
622
+ * @param pos On input: an alignment field, if desired.
623
+ * On output: the offsets of the alignment field.
624
+ * @param status Output param filled with success/failure status.
625
+ * @return Reference to 'appendTo' parameter.
626
+ * @internal
627
+ */
628
+ virtual UnicodeString& format(const number::impl::DecimalQuantity &number,
629
+ UnicodeString& appendTo,
630
+ FieldPosition& pos,
631
+ UErrorCode& status) const;
632
+
633
+ /**
634
+ * Return a long if possible (e.g. within range LONG_MAX,
635
+ * LONG_MAX], and with no decimals), otherwise a double. If
636
+ * IntegerOnly is set, will stop at a decimal point (or equivalent;
637
+ * e.g. for rational numbers "1 2/3", will stop after the 1).
638
+ * <P>
639
+ * If no object can be parsed, index is unchanged, and nullptr is
640
+ * returned.
641
+ * <P>
642
+ * This is a pure virtual which concrete subclasses must implement.
643
+ *
644
+ * @param text The text to be parsed.
645
+ * @param result Formattable to be set to the parse result.
646
+ * If parse fails, return contents are undefined.
647
+ * @param parsePosition The position to start parsing at on input.
648
+ * On output, moved to after the last successfully
649
+ * parse character. On parse failure, does not change.
650
+ * @stable ICU 2.0
651
+ */
652
+ virtual void parse(const UnicodeString& text,
653
+ Formattable& result,
654
+ ParsePosition& parsePosition) const = 0;
655
+
656
+ /**
657
+ * Parse a string as a numeric value, and return a Formattable
658
+ * numeric object. This method parses integers only if IntegerOnly
659
+ * is set.
660
+ *
661
+ * @param text The text to be parsed.
662
+ * @param result Formattable to be set to the parse result.
663
+ * If parse fails, return contents are undefined.
664
+ * @param status Output parameter set to a failure error code
665
+ * when a failure occurs. The error code when the
666
+ * string fails to parse is U_INVALID_FORMAT_ERROR,
667
+ * unless overridden by a subclass.
668
+ * @see NumberFormat::isParseIntegerOnly
669
+ * @stable ICU 2.0
670
+ */
671
+ virtual void parse(const UnicodeString& text,
672
+ Formattable& result,
673
+ UErrorCode& status) const;
674
+
675
+ /**
676
+ * Parses text from the given string as a currency amount. Unlike
677
+ * the parse() method, this method will attempt to parse a generic
678
+ * currency name, searching for a match of this object's locale's
679
+ * currency display names, or for a 3-letter ISO currency code.
680
+ * This method will fail if this format is not a currency format,
681
+ * that is, if it does not contain the currency pattern symbol
682
+ * (U+00A4) in its prefix or suffix.
683
+ *
684
+ * @param text the string to parse
685
+ * @param pos input-output position; on input, the position within text
686
+ * to match; must have 0 <= pos.getIndex() < text.length();
687
+ * on output, the position after the last matched character.
688
+ * If the parse fails, the position in unchanged upon output.
689
+ * @return if parse succeeds, a pointer to a newly-created CurrencyAmount
690
+ * object (owned by the caller) containing information about
691
+ * the parsed currency; if parse fails, this is nullptr.
692
+ * @stable ICU 49
693
+ */
694
+ virtual CurrencyAmount* parseCurrency(const UnicodeString& text,
695
+ ParsePosition& pos) const;
696
+
697
+ /**
698
+ * Return true if this format will parse numbers as integers
699
+ * only. For example in the English locale, with ParseIntegerOnly
700
+ * true, the string "1234." would be parsed as the integer value
701
+ * 1234 and parsing would stop at the "." character. Of course,
702
+ * the exact format accepted by the parse operation is locale
703
+ * dependent and determined by sub-classes of NumberFormat.
704
+ * @return true if this format will parse numbers as integers
705
+ * only.
706
+ * @stable ICU 2.0
707
+ */
708
+ UBool isParseIntegerOnly() const;
709
+
710
+ /**
711
+ * Sets whether or not numbers should be parsed as integers only.
712
+ * @param value set True, this format will parse numbers as integers
713
+ * only.
714
+ * @see isParseIntegerOnly
715
+ * @stable ICU 2.0
716
+ */
717
+ virtual void setParseIntegerOnly(UBool value);
718
+
719
+ /**
720
+ * Sets whether lenient parsing should be enabled (it is off by default).
721
+ *
722
+ * @param enable \c true if lenient parsing should be used,
723
+ * \c false otherwise.
724
+ * @stable ICU 4.8
725
+ */
726
+ virtual void setLenient(UBool enable);
727
+
728
+ /**
729
+ * Returns whether lenient parsing is enabled (it is off by default).
730
+ *
731
+ * @return \c true if lenient parsing is enabled,
732
+ * \c false otherwise.
733
+ * @see #setLenient
734
+ * @stable ICU 4.8
735
+ */
736
+ virtual UBool isLenient() const;
737
+
738
+ /**
739
+ * Create a default style NumberFormat for the current default locale.
740
+ * The default formatting style is locale dependent.
741
+ * <p>
742
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
743
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
744
+ * @stable ICU 2.0
745
+ */
746
+ static NumberFormat* U_EXPORT2 createInstance(UErrorCode&);
747
+
748
+ /**
749
+ * Create a default style NumberFormat for the specified locale.
750
+ * The default formatting style is locale dependent.
751
+ * @param inLocale the given locale.
752
+ * <p>
753
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
754
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
755
+ * @stable ICU 2.0
756
+ */
757
+ static NumberFormat* U_EXPORT2 createInstance(const Locale& inLocale,
758
+ UErrorCode&);
759
+
760
+ /**
761
+ * Create a specific style NumberFormat for the specified locale.
762
+ * <p>
763
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
764
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
765
+ * @param desiredLocale the given locale.
766
+ * @param style the given style.
767
+ * @param errorCode Output param filled with success/failure status.
768
+ * @return A new NumberFormat instance.
769
+ * @stable ICU 4.8
770
+ */
771
+ static NumberFormat* U_EXPORT2 createInstance(const Locale& desiredLocale,
772
+ UNumberFormatStyle style,
773
+ UErrorCode& errorCode);
774
+
775
+ #ifndef U_HIDE_INTERNAL_API
776
+
777
+ /**
778
+ * ICU use only.
779
+ * Creates NumberFormat instance without using the cache.
780
+ * @internal
781
+ */
782
+ static NumberFormat* internalCreateInstance(
783
+ const Locale& desiredLocale,
784
+ UNumberFormatStyle style,
785
+ UErrorCode& errorCode);
786
+
787
+ /**
788
+ * ICU use only.
789
+ * Returns handle to the shared, cached NumberFormat instance for given
790
+ * locale. On success, caller must call removeRef() on returned value
791
+ * once it is done with the shared instance.
792
+ * @internal
793
+ */
794
+ static const SharedNumberFormat* U_EXPORT2 createSharedInstance(
795
+ const Locale& inLocale, UNumberFormatStyle style, UErrorCode& status);
796
+
797
+ #endif /* U_HIDE_INTERNAL_API */
798
+
799
+ /**
800
+ * Returns a currency format for the current default locale.
801
+ * <p>
802
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
803
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
804
+ * @stable ICU 2.0
805
+ */
806
+ static NumberFormat* U_EXPORT2 createCurrencyInstance(UErrorCode&);
807
+
808
+ /**
809
+ * Returns a currency format for the specified locale.
810
+ * <p>
811
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
812
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
813
+ * @param inLocale the given locale.
814
+ * @stable ICU 2.0
815
+ */
816
+ static NumberFormat* U_EXPORT2 createCurrencyInstance(const Locale& inLocale,
817
+ UErrorCode&);
818
+
819
+ /**
820
+ * Returns a percentage format for the current default locale.
821
+ * <p>
822
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
823
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
824
+ * @stable ICU 2.0
825
+ */
826
+ static NumberFormat* U_EXPORT2 createPercentInstance(UErrorCode&);
827
+
828
+ /**
829
+ * Returns a percentage format for the specified locale.
830
+ * <p>
831
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
832
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
833
+ * @param inLocale the given locale.
834
+ * @stable ICU 2.0
835
+ */
836
+ static NumberFormat* U_EXPORT2 createPercentInstance(const Locale& inLocale,
837
+ UErrorCode&);
838
+
839
+ /**
840
+ * Returns a scientific format for the current default locale.
841
+ * <p>
842
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
843
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
844
+ * @stable ICU 2.0
845
+ */
846
+ static NumberFormat* U_EXPORT2 createScientificInstance(UErrorCode&);
847
+
848
+ /**
849
+ * Returns a scientific format for the specified locale.
850
+ * <p>
851
+ * <strong>NOTE:</strong> New users are strongly encouraged to use
852
+ * {@link icu::number::NumberFormatter} instead of NumberFormat.
853
+ * @param inLocale the given locale.
854
+ * @stable ICU 2.0
855
+ */
856
+ static NumberFormat* U_EXPORT2 createScientificInstance(const Locale& inLocale,
857
+ UErrorCode&);
858
+
859
+ /**
860
+ * Get the set of Locales for which NumberFormats are installed.
861
+ * @param count Output param to receive the size of the locales
862
+ * @stable ICU 2.0
863
+ */
864
+ static const Locale* U_EXPORT2 getAvailableLocales(int32_t& count);
865
+
866
+ #if !UCONFIG_NO_SERVICE
867
+ /**
868
+ * Register a new NumberFormatFactory. The factory will be adopted.
869
+ * Because ICU may choose to cache NumberFormat objects internally,
870
+ * this must be called at application startup, prior to any calls to
871
+ * NumberFormat::createInstance to avoid undefined behavior.
872
+ * @param toAdopt the NumberFormatFactory instance to be adopted
873
+ * @param status the in/out status code, no special meanings are assigned
874
+ * @return a registry key that can be used to unregister this factory
875
+ * @stable ICU 2.6
876
+ */
877
+ static URegistryKey U_EXPORT2 registerFactory(NumberFormatFactory* toAdopt, UErrorCode& status);
878
+
879
+ /**
880
+ * Unregister a previously-registered NumberFormatFactory using the key returned from the
881
+ * register call. Key becomes invalid after a successful call and should not be used again.
882
+ * The NumberFormatFactory corresponding to the key will be deleted.
883
+ * Because ICU may choose to cache NumberFormat objects internally,
884
+ * this should be called during application shutdown, after all calls to
885
+ * NumberFormat::createInstance to avoid undefined behavior.
886
+ * @param key the registry key returned by a previous call to registerFactory
887
+ * @param status the in/out status code, no special meanings are assigned
888
+ * @return true if the factory for the key was successfully unregistered
889
+ * @stable ICU 2.6
890
+ */
891
+ static UBool U_EXPORT2 unregister(URegistryKey key, UErrorCode& status);
892
+
893
+ /**
894
+ * Return a StringEnumeration over the locales available at the time of the call,
895
+ * including registered locales.
896
+ * @return a StringEnumeration over the locales available at the time of the call
897
+ * @stable ICU 2.6
898
+ */
899
+ static StringEnumeration* U_EXPORT2 getAvailableLocales();
900
+ #endif /* UCONFIG_NO_SERVICE */
901
+
902
+ /**
903
+ * Returns true if grouping is used in this format. For example,
904
+ * in the English locale, with grouping on, the number 1234567
905
+ * might be formatted as "1,234,567". The grouping separator as
906
+ * well as the size of each group is locale dependent and is
907
+ * determined by sub-classes of NumberFormat.
908
+ * @see setGroupingUsed
909
+ * @stable ICU 2.0
910
+ */
911
+ UBool isGroupingUsed() const;
912
+
913
+ /**
914
+ * Set whether or not grouping will be used in this format.
915
+ * @param newValue True, grouping will be used in this format.
916
+ * @see getGroupingUsed
917
+ * @stable ICU 2.0
918
+ */
919
+ virtual void setGroupingUsed(UBool newValue);
920
+
921
+ /**
922
+ * Returns the maximum number of digits allowed in the integer portion of a
923
+ * number.
924
+ * @return the maximum number of digits allowed in the integer portion of a
925
+ * number.
926
+ * @see setMaximumIntegerDigits
927
+ * @stable ICU 2.0
928
+ */
929
+ int32_t getMaximumIntegerDigits() const;
930
+
931
+ /**
932
+ * Sets the maximum number of digits allowed in the integer portion of a
933
+ * number. maximumIntegerDigits must be >= minimumIntegerDigits. If the
934
+ * new value for maximumIntegerDigits is less than the current value
935
+ * of minimumIntegerDigits, then minimumIntegerDigits will also be set to
936
+ * the new value.
937
+ *
938
+ * @param newValue the new value for the maximum number of digits
939
+ * allowed in the integer portion of a number.
940
+ * @see getMaximumIntegerDigits
941
+ * @stable ICU 2.0
942
+ */
943
+ virtual void setMaximumIntegerDigits(int32_t newValue);
944
+
945
+ /**
946
+ * Returns the minimum number of digits allowed in the integer portion of a
947
+ * number.
948
+ * @return the minimum number of digits allowed in the integer portion of a
949
+ * number.
950
+ * @see setMinimumIntegerDigits
951
+ * @stable ICU 2.0
952
+ */
953
+ int32_t getMinimumIntegerDigits() const;
954
+
955
+ /**
956
+ * Sets the minimum number of digits allowed in the integer portion of a
957
+ * number. minimumIntegerDigits must be &lt;= maximumIntegerDigits. If the
958
+ * new value for minimumIntegerDigits exceeds the current value
959
+ * of maximumIntegerDigits, then maximumIntegerDigits will also be set to
960
+ * the new value.
961
+ * @param newValue the new value to be set.
962
+ * @see getMinimumIntegerDigits
963
+ * @stable ICU 2.0
964
+ */
965
+ virtual void setMinimumIntegerDigits(int32_t newValue);
966
+
967
+ /**
968
+ * Returns the maximum number of digits allowed in the fraction portion of a
969
+ * number.
970
+ * @return the maximum number of digits allowed in the fraction portion of a
971
+ * number.
972
+ * @see setMaximumFractionDigits
973
+ * @stable ICU 2.0
974
+ */
975
+ int32_t getMaximumFractionDigits() const;
976
+
977
+ /**
978
+ * Sets the maximum number of digits allowed in the fraction portion of a
979
+ * number. maximumFractionDigits must be >= minimumFractionDigits. If the
980
+ * new value for maximumFractionDigits is less than the current value
981
+ * of minimumFractionDigits, then minimumFractionDigits will also be set to
982
+ * the new value.
983
+ * @param newValue the new value to be set.
984
+ * @see getMaximumFractionDigits
985
+ * @stable ICU 2.0
986
+ */
987
+ virtual void setMaximumFractionDigits(int32_t newValue);
988
+
989
+ /**
990
+ * Returns the minimum number of digits allowed in the fraction portion of a
991
+ * number.
992
+ * @return the minimum number of digits allowed in the fraction portion of a
993
+ * number.
994
+ * @see setMinimumFractionDigits
995
+ * @stable ICU 2.0
996
+ */
997
+ int32_t getMinimumFractionDigits() const;
998
+
999
+ /**
1000
+ * Sets the minimum number of digits allowed in the fraction portion of a
1001
+ * number. minimumFractionDigits must be &lt;= maximumFractionDigits. If the
1002
+ * new value for minimumFractionDigits exceeds the current value
1003
+ * of maximumFractionDigits, then maximumIntegerDigits will also be set to
1004
+ * the new value
1005
+ * @param newValue the new value to be set.
1006
+ * @see getMinimumFractionDigits
1007
+ * @stable ICU 2.0
1008
+ */
1009
+ virtual void setMinimumFractionDigits(int32_t newValue);
1010
+
1011
+ /**
1012
+ * Sets the currency used to display currency
1013
+ * amounts. This takes effect immediately, if this format is a
1014
+ * currency format. If this format is not a currency format, then
1015
+ * the currency is used if and when this object becomes a
1016
+ * currency format.
1017
+ * @param theCurrency a 3-letter ISO code indicating new currency
1018
+ * to use. It need not be null-terminated. May be the empty
1019
+ * string or nullptr to indicate no currency.
1020
+ * @param ec input-output error code
1021
+ * @stable ICU 3.0
1022
+ */
1023
+ virtual void setCurrency(const char16_t* theCurrency, UErrorCode& ec);
1024
+
1025
+ /**
1026
+ * Gets the currency used to display currency
1027
+ * amounts. This may be an empty string for some subclasses.
1028
+ * @return a 3-letter null-terminated ISO code indicating
1029
+ * the currency in use, or a pointer to the empty string.
1030
+ * @stable ICU 2.6
1031
+ */
1032
+ const char16_t* getCurrency() const;
1033
+
1034
+ /**
1035
+ * Set a particular UDisplayContext value in the formatter, such as
1036
+ * UDISPCTX_CAPITALIZATION_FOR_STANDALONE.
1037
+ * @param value The UDisplayContext value to set.
1038
+ * @param status Input/output status. If at entry this indicates a failure
1039
+ * status, the function will do nothing; otherwise this will be
1040
+ * updated with any new status from the function.
1041
+ * @stable ICU 53
1042
+ */
1043
+ virtual void setContext(UDisplayContext value, UErrorCode& status);
1044
+
1045
+ /**
1046
+ * Get the formatter's UDisplayContext value for the specified UDisplayContextType,
1047
+ * such as UDISPCTX_TYPE_CAPITALIZATION.
1048
+ * @param type The UDisplayContextType whose value to return
1049
+ * @param status Input/output status. If at entry this indicates a failure
1050
+ * status, the function will do nothing; otherwise this will be
1051
+ * updated with any new status from the function.
1052
+ * @return The UDisplayContextValue for the specified type.
1053
+ * @stable ICU 53
1054
+ */
1055
+ virtual UDisplayContext getContext(UDisplayContextType type, UErrorCode& status) const;
1056
+
1057
+ /**
1058
+ * Get the rounding mode. This will always return NumberFormat::ERoundingMode::kRoundUnnecessary
1059
+ * if the subclass does not support rounding.
1060
+ * @return A rounding mode
1061
+ * @stable ICU 60
1062
+ */
1063
+ virtual ERoundingMode getRoundingMode() const;
1064
+
1065
+ /**
1066
+ * Set the rounding mode. If a subclass does not support rounding, this will do nothing.
1067
+ * @param roundingMode A rounding mode
1068
+ * @stable ICU 60
1069
+ */
1070
+ virtual void setRoundingMode(ERoundingMode roundingMode);
1071
+
1072
+ #if APPLE_ICU_CHANGES
1073
+ // rdar://
1074
+ /**
1075
+ * Group-set several settings used for numbers in date formats.
1076
+ * Equivalent to:
1077
+ * setGroupingUsed(false);
1078
+ * setParseIntegerOnly(true);
1079
+ * setMinimumFractionDigits(0);
1080
+ * @internal
1081
+ */
1082
+ virtual void setDateSettings(void);
1083
+ #endif // APPLE_ICU_CHANGES
1084
+
1085
+ public:
1086
+
1087
+ /**
1088
+ * Return the class ID for this class. This is useful for
1089
+ * comparing to a return value from getDynamicClassID(). Note that,
1090
+ * because NumberFormat is an abstract base class, no fully constructed object
1091
+ * will have the class ID returned by NumberFormat::getStaticClassID().
1092
+ * @return The class ID for all objects of this class.
1093
+ * @stable ICU 2.0
1094
+ */
1095
+ static UClassID U_EXPORT2 getStaticClassID();
1096
+
1097
+ /**
1098
+ * Returns a unique class ID POLYMORPHICALLY. Pure virtual override.
1099
+ * This method is to implement a simple version of RTTI, since not all
1100
+ * C++ compilers support genuine RTTI. Polymorphic operator==() and
1101
+ * clone() methods call this method.
1102
+ * <P>
1103
+ * @return The class ID for this object. All objects of a
1104
+ * given class have the same class ID. Objects of
1105
+ * other classes have different class IDs.
1106
+ * @stable ICU 2.0
1107
+ */
1108
+ virtual UClassID getDynamicClassID() const override = 0;
1109
+
1110
+ protected:
1111
+
1112
+ /**
1113
+ * Default constructor for subclass use only.
1114
+ * @stable ICU 2.0
1115
+ */
1116
+ NumberFormat();
1117
+
1118
+ /**
1119
+ * Copy constructor.
1120
+ * @stable ICU 2.0
1121
+ */
1122
+ NumberFormat(const NumberFormat&);
1123
+
1124
+ /**
1125
+ * Assignment operator.
1126
+ * @stable ICU 2.0
1127
+ */
1128
+ NumberFormat& operator=(const NumberFormat&);
1129
+
1130
+ /**
1131
+ * Returns the currency in effect for this formatter. Subclasses
1132
+ * should override this method as needed. Unlike getCurrency(),
1133
+ * this method should never return "".
1134
+ * @result output parameter for null-terminated result, which must
1135
+ * have a capacity of at least 4
1136
+ * @internal
1137
+ */
1138
+ virtual void getEffectiveCurrency(char16_t* result, UErrorCode& ec) const;
1139
+
1140
+ #ifndef U_HIDE_INTERNAL_API
1141
+ /**
1142
+ * Creates the specified number format style of the desired locale.
1143
+ * If mustBeDecimalFormat is true, then the returned pointer is
1144
+ * either a DecimalFormat or it is nullptr.
1145
+ * @internal
1146
+ */
1147
+ static NumberFormat* makeInstance(const Locale& desiredLocale,
1148
+ UNumberFormatStyle style,
1149
+ UBool mustBeDecimalFormat,
1150
+ UErrorCode& errorCode);
1151
+ #endif /* U_HIDE_INTERNAL_API */
1152
+
1153
+ private:
1154
+
1155
+ static UBool isStyleSupported(UNumberFormatStyle style);
1156
+
1157
+ /**
1158
+ * Creates the specified decimal format style of the desired locale.
1159
+ * @param desiredLocale the given locale.
1160
+ * @param style the given style.
1161
+ * @param errorCode Output param filled with success/failure status.
1162
+ * @return A new NumberFormat instance.
1163
+ */
1164
+ static NumberFormat* makeInstance(const Locale& desiredLocale,
1165
+ UNumberFormatStyle style,
1166
+ UErrorCode& errorCode);
1167
+
1168
+ UBool fGroupingUsed;
1169
+ int32_t fMaxIntegerDigits;
1170
+ int32_t fMinIntegerDigits;
1171
+ int32_t fMaxFractionDigits;
1172
+ int32_t fMinFractionDigits;
1173
+
1174
+ protected:
1175
+ /** \internal */
1176
+ static const int32_t gDefaultMaxIntegerDigits;
1177
+ /** \internal */
1178
+ static const int32_t gDefaultMinIntegerDigits;
1179
+
1180
+ private:
1181
+ UBool fParseIntegerOnly;
1182
+ UBool fLenient; // true => lenient parse is enabled
1183
+
1184
+ // ISO currency code
1185
+ char16_t fCurrency[4];
1186
+
1187
+ UDisplayContext fCapitalizationContext;
1188
+
1189
+ friend class ICUNumberFormatFactory; // access to makeInstance
1190
+ friend class ICUNumberFormatService;
1191
+ friend class ::NumberFormatTest; // access to isStyleSupported()
1192
+ };
1193
+
1194
+ #if !UCONFIG_NO_SERVICE
1195
+ /**
1196
+ * A NumberFormatFactory is used to register new number formats. The factory
1197
+ * should be able to create any of the predefined formats for each locale it
1198
+ * supports. When registered, the locales it supports extend or override the
1199
+ * locale already supported by ICU.
1200
+ *
1201
+ * @stable ICU 2.6
1202
+ */
1203
+ class U_I18N_API NumberFormatFactory : public UObject {
1204
+ public:
1205
+
1206
+ /**
1207
+ * Destructor
1208
+ * @stable ICU 3.0
1209
+ */
1210
+ virtual ~NumberFormatFactory();
1211
+
1212
+ /**
1213
+ * Return true if this factory will be visible. Default is true.
1214
+ * If not visible, the locales supported by this factory will not
1215
+ * be listed by getAvailableLocales.
1216
+ * @stable ICU 2.6
1217
+ */
1218
+ virtual UBool visible() const = 0;
1219
+
1220
+ /**
1221
+ * Return the locale names directly supported by this factory. The number of names
1222
+ * is returned in count;
1223
+ * @stable ICU 2.6
1224
+ */
1225
+ virtual const UnicodeString * getSupportedIDs(int32_t &count, UErrorCode& status) const = 0;
1226
+
1227
+ /**
1228
+ * Return a number format of the appropriate type. If the locale
1229
+ * is not supported, return null. If the locale is supported, but
1230
+ * the type is not provided by this service, return null. Otherwise
1231
+ * return an appropriate instance of NumberFormat.
1232
+ * @stable ICU 2.6
1233
+ */
1234
+ virtual NumberFormat* createFormat(const Locale& loc, UNumberFormatStyle formatType) = 0;
1235
+ };
1236
+
1237
+ /**
1238
+ * A NumberFormatFactory that supports a single locale. It can be visible or invisible.
1239
+ * @stable ICU 2.6
1240
+ */
1241
+ class U_I18N_API SimpleNumberFormatFactory : public NumberFormatFactory {
1242
+ protected:
1243
+ /**
1244
+ * True if the locale supported by this factory is visible.
1245
+ * @stable ICU 2.6
1246
+ */
1247
+ const UBool _visible;
1248
+
1249
+ /**
1250
+ * The locale supported by this factory, as a UnicodeString.
1251
+ * @stable ICU 2.6
1252
+ */
1253
+ UnicodeString _id;
1254
+
1255
+ public:
1256
+ /**
1257
+ * @stable ICU 2.6
1258
+ */
1259
+ SimpleNumberFormatFactory(const Locale& locale, UBool visible = true);
1260
+
1261
+ /**
1262
+ * @stable ICU 3.0
1263
+ */
1264
+ virtual ~SimpleNumberFormatFactory();
1265
+
1266
+ /**
1267
+ * @stable ICU 2.6
1268
+ */
1269
+ virtual UBool visible() const override;
1270
+
1271
+ /**
1272
+ * @stable ICU 2.6
1273
+ */
1274
+ virtual const UnicodeString * getSupportedIDs(int32_t &count, UErrorCode& status) const override;
1275
+ };
1276
+ #endif /* #if !UCONFIG_NO_SERVICE */
1277
+
1278
+ // -------------------------------------
1279
+
1280
+ inline UBool
1281
+ NumberFormat::isParseIntegerOnly() const
1282
+ {
1283
+ return fParseIntegerOnly;
1284
+ }
1285
+
1286
+ inline UBool
1287
+ NumberFormat::isLenient() const
1288
+ {
1289
+ return fLenient;
1290
+ }
1291
+
1292
+ U_NAMESPACE_END
1293
+
1294
+ #endif /* #if !UCONFIG_NO_FORMATTING */
1295
+
1296
+ #endif /* U_SHOW_CPLUSPLUS_API */
1297
+
1298
+ #endif // _NUMFMT
1299
+ //eof