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

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,1613 @@
1
+ // © 2016 and later: Unicode, Inc. and others.
2
+ // License & terms of use: http://www.unicode.org/copyright.html
3
+ /*
4
+ *******************************************************************************
5
+ *
6
+ * Copyright (C) 2004-2012, International Business Machines
7
+ * Corporation and others. All Rights Reserved.
8
+ *
9
+ *******************************************************************************
10
+ * file name: utext.h
11
+ * encoding: UTF-8
12
+ * tab size: 8 (not used)
13
+ * indentation:4
14
+ *
15
+ * created on: 2004oct06
16
+ * created by: Markus W. Scherer
17
+ */
18
+
19
+ #ifndef __UTEXT_H__
20
+ #define __UTEXT_H__
21
+
22
+ /**
23
+ * \file
24
+ * \brief C API: Abstract Unicode Text API
25
+ *
26
+ * The Text Access API provides a means to allow text that is stored in alternative
27
+ * formats to work with ICU services. ICU normally operates on text that is
28
+ * stored in UTF-16 format, in (UChar *) arrays for the C APIs or as type
29
+ * UnicodeString for C++ APIs.
30
+ *
31
+ * ICU Text Access allows other formats, such as UTF-8 or non-contiguous
32
+ * UTF-16 strings, to be placed in a UText wrapper and then passed to ICU services.
33
+ *
34
+ * There are three general classes of usage for UText:
35
+ *
36
+ * Application Level Use. This is the simplest usage - applications would
37
+ * use one of the utext_open() functions on their input text, and pass
38
+ * the resulting UText to the desired ICU service.
39
+ *
40
+ * Second is usage in ICU Services, such as break iteration, that will need to
41
+ * operate on input presented to them as a UText. These implementations
42
+ * will need to use the iteration and related UText functions to gain
43
+ * access to the actual text.
44
+ *
45
+ * The third class of UText users are "text providers." These are the
46
+ * UText implementations for the various text storage formats. An application
47
+ * or system with a unique text storage format can implement a set of
48
+ * UText provider functions for that format, which will then allow
49
+ * ICU services to operate on that format.
50
+ *
51
+ *
52
+ * <em>Iterating over text</em>
53
+ *
54
+ * Here is sample code for a forward iteration over the contents of a UText
55
+ *
56
+ * \code
57
+ * UChar32 c;
58
+ * UText *ut = whatever();
59
+ *
60
+ * for (c=utext_next32From(ut, 0); c>=0; c=utext_next32(ut)) {
61
+ * // do whatever with the codepoint c here.
62
+ * }
63
+ * \endcode
64
+ *
65
+ * And here is similar code to iterate in the reverse direction, from the end
66
+ * of the text towards the beginning.
67
+ *
68
+ * \code
69
+ * UChar32 c;
70
+ * UText *ut = whatever();
71
+ * int textLength = utext_nativeLength(ut);
72
+ * for (c=utext_previous32From(ut, textLength); c>=0; c=utext_previous32(ut)) {
73
+ * // do whatever with the codepoint c here.
74
+ * }
75
+ * \endcode
76
+ *
77
+ * <em>Characters and Indexing</em>
78
+ *
79
+ * Indexing into text by UText functions is nearly always in terms of the native
80
+ * indexing of the underlying text storage. The storage format could be UTF-8
81
+ * or UTF-32, for example. When coding to the UText access API, no assumptions
82
+ * can be made regarding the size of characters, or how far an index
83
+ * may move when iterating between characters.
84
+ *
85
+ * All indices supplied to UText functions are pinned to the length of the
86
+ * text. An out-of-bounds index is not considered to be an error, but is
87
+ * adjusted to be in the range 0 <= index <= length of input text.
88
+ *
89
+ *
90
+ * When an index position is returned from a UText function, it will be
91
+ * a native index to the underlying text. In the case of multi-unit characters,
92
+ * it will always refer to the first position of the character,
93
+ * never to the interior. This is essentially the same thing as saying that
94
+ * a returned index will always point to a boundary between characters.
95
+ *
96
+ * When a native index is supplied to a UText function, all indices that
97
+ * refer to any part of a multi-unit character representation are considered
98
+ * to be equivalent. In the case of multi-unit characters, an incoming index
99
+ * will be logically normalized to refer to the start of the character.
100
+ *
101
+ * It is possible to test whether a native index is on a code point boundary
102
+ * by doing a utext_setNativeIndex() followed by a utext_getNativeIndex().
103
+ * If the index is returned unchanged, it was on a code point boundary. If
104
+ * an adjusted index is returned, the original index referred to the
105
+ * interior of a character.
106
+ *
107
+ * <em>Conventions for calling UText functions</em>
108
+ *
109
+ * Most UText access functions have as their first parameter a (UText *) pointer,
110
+ * which specifies the UText to be used. Unless otherwise noted, the
111
+ * pointer must refer to a valid, open UText. Attempting to
112
+ * use a closed UText or passing a NULL pointer is a programming error and
113
+ * will produce undefined results or NULL pointer exceptions.
114
+ *
115
+ * The UText_Open family of functions can either open an existing (closed)
116
+ * UText, or heap allocate a new UText. Here is sample code for creating
117
+ * a stack-allocated UText.
118
+ *
119
+ * \code
120
+ * char *s = whatever(); // A utf-8 string
121
+ * U_ErrorCode status = U_ZERO_ERROR;
122
+ * UText ut = UTEXT_INITIALIZER;
123
+ * utext_openUTF8(ut, s, -1, &status);
124
+ * if (U_FAILURE(status)) {
125
+ * // error handling
126
+ * } else {
127
+ * // work with the UText
128
+ * }
129
+ * \endcode
130
+ *
131
+ * Any existing UText passed to an open function _must_ have been initialized,
132
+ * either by the UTEXT_INITIALIZER, or by having been originally heap-allocated
133
+ * by an open function. Passing NULL will cause the open function to
134
+ * heap-allocate and fully initialize a new UText.
135
+ *
136
+ */
137
+
138
+
139
+
140
+ #include <_foundation_unicode/utypes.h>
141
+ #include <_foundation_unicode/uchar.h>
142
+ #if U_SHOW_CPLUSPLUS_API
143
+ #include <_foundation_unicode/localpointer.h>
144
+ #include <_foundation_unicode/rep.h>
145
+ #include <_foundation_unicode/unistr.h>
146
+ #include <_foundation_unicode/chariter.h>
147
+ #endif
148
+
149
+
150
+ #if APPLE_ICU_CHANGES
151
+ // rdar://71262794 Cannot include unicode/utext.h and unicode/umutablecptrie.h together
152
+ #else
153
+ U_CDECL_BEGIN
154
+ #endif // APPLE_ICU_CHANGES
155
+
156
+ struct UText;
157
+ typedef struct UText UText; /**< C typedef for struct UText. @stable ICU 3.6 */
158
+
159
+
160
+ /***************************************************************************************
161
+ *
162
+ * C Functions for creating UText wrappers around various kinds of text strings.
163
+ *
164
+ ****************************************************************************************/
165
+
166
+
167
+ /**
168
+ * Close function for UText instances.
169
+ * Cleans up, releases any resources being held by an open UText.
170
+ * <p>
171
+ * If the UText was originally allocated by one of the utext_open functions,
172
+ * the storage associated with the utext will also be freed.
173
+ * If the UText storage originated with the application, as it would with
174
+ * a local or static instance, the storage will not be deleted.
175
+ *
176
+ * An open UText can be reset to refer to new string by using one of the utext_open()
177
+ * functions without first closing the UText.
178
+ *
179
+ * @param ut The UText to be closed.
180
+ * @return NULL if the UText struct was deleted by the close. If the UText struct
181
+ * was originally provided by the caller to the open function, it is
182
+ * returned by this function, and may be safely used again in
183
+ * a subsequent utext_open.
184
+ *
185
+ * @stable ICU 3.4
186
+ */
187
+ U_CAPI UText * U_EXPORT2
188
+ utext_close(UText *ut);
189
+
190
+ /**
191
+ * Open a read-only UText implementation for UTF-8 strings.
192
+ *
193
+ * \htmlonly
194
+ * Any invalid UTF-8 in the input will be handled in this way:
195
+ * a sequence of bytes that has the form of a truncated, but otherwise valid,
196
+ * UTF-8 sequence will be replaced by a single unicode replacement character, \uFFFD.
197
+ * Any other illegal bytes will each be replaced by a \uFFFD.
198
+ * \endhtmlonly
199
+ *
200
+ * @param ut Pointer to a UText struct. If NULL, a new UText will be created.
201
+ * If non-NULL, must refer to an initialized UText struct, which will then
202
+ * be reset to reference the specified UTF-8 string.
203
+ * @param s A UTF-8 string. Must not be NULL.
204
+ * @param length The length of the UTF-8 string in bytes, or -1 if the string is
205
+ * zero terminated.
206
+ * @param status Errors are returned here.
207
+ * @return A pointer to the UText. If a pre-allocated UText was provided, it
208
+ * will always be used and returned.
209
+ * @stable ICU 3.4
210
+ */
211
+ U_CAPI UText * U_EXPORT2
212
+ utext_openUTF8(UText *ut, const char *s, int64_t length, UErrorCode *status);
213
+
214
+
215
+ /**
216
+ * Open a read-only UText for UChar * string.
217
+ *
218
+ * @param ut Pointer to a UText struct. If NULL, a new UText will be created.
219
+ * If non-NULL, must refer to an initialized UText struct, which will then
220
+ * be reset to reference the specified UChar string.
221
+ * @param s A UChar (UTF-16) string
222
+ * @param length The number of UChars in the input string, or -1 if the string is
223
+ * zero terminated.
224
+ * @param status Errors are returned here.
225
+ * @return A pointer to the UText. If a pre-allocated UText was provided, it
226
+ * will always be used and returned.
227
+ * @stable ICU 3.4
228
+ */
229
+ U_CAPI UText * U_EXPORT2
230
+ utext_openUChars(UText *ut, const UChar *s, int64_t length, UErrorCode *status);
231
+
232
+
233
+ #if U_SHOW_CPLUSPLUS_API
234
+ /**
235
+ * Open a writable UText for a non-const UnicodeString.
236
+ *
237
+ * @param ut Pointer to a UText struct. If nullptr, a new UText will be created.
238
+ * If non-nullptr, must refer to an initialized UText struct, which will then
239
+ * be reset to reference the specified input string.
240
+ * @param s A UnicodeString.
241
+ * @param status Errors are returned here.
242
+ * @return Pointer to the UText. If a UText was supplied as input, this
243
+ * will always be used and returned.
244
+ * @stable ICU 3.4
245
+ */
246
+ U_CAPI UText * U_EXPORT2
247
+ utext_openUnicodeString(UText *ut, icu::UnicodeString *s, UErrorCode *status);
248
+
249
+
250
+ /**
251
+ * Open a UText for a const UnicodeString. The resulting UText will not be writable.
252
+ *
253
+ * @param ut Pointer to a UText struct. If nullptr, a new UText will be created.
254
+ * If non-nullptr, must refer to an initialized UText struct, which will then
255
+ * be reset to reference the specified input string.
256
+ * @param s A const UnicodeString to be wrapped.
257
+ * @param status Errors are returned here.
258
+ * @return Pointer to the UText. If a UText was supplied as input, this
259
+ * will always be used and returned.
260
+ * @stable ICU 3.4
261
+ */
262
+ U_CAPI UText * U_EXPORT2
263
+ utext_openConstUnicodeString(UText *ut, const icu::UnicodeString *s, UErrorCode *status);
264
+
265
+
266
+ /**
267
+ * Open a writable UText implementation for an ICU Replaceable object.
268
+ * @param ut Pointer to a UText struct. If nullptr, a new UText will be created.
269
+ * If non-nullptr, must refer to an already existing UText, which will then
270
+ * be reset to reference the specified replaceable text.
271
+ * @param rep A Replaceable text object.
272
+ * @param status Errors are returned here.
273
+ * @return Pointer to the UText. If a UText was supplied as input, this
274
+ * will always be used and returned.
275
+ * @see Replaceable
276
+ * @stable ICU 3.4
277
+ */
278
+ U_CAPI UText * U_EXPORT2
279
+ utext_openReplaceable(UText *ut, icu::Replaceable *rep, UErrorCode *status);
280
+
281
+ /**
282
+ * Open a UText implementation over an ICU CharacterIterator.
283
+ * @param ut Pointer to a UText struct. If nullptr, a new UText will be created.
284
+ * If non-nullptr, must refer to an already existing UText, which will then
285
+ * be reset to reference the specified replaceable text.
286
+ * @param ci A Character Iterator.
287
+ * @param status Errors are returned here.
288
+ * @return Pointer to the UText. If a UText was supplied as input, this
289
+ * will always be used and returned.
290
+ * @see Replaceable
291
+ * @stable ICU 3.4
292
+ */
293
+ U_CAPI UText * U_EXPORT2
294
+ utext_openCharacterIterator(UText *ut, icu::CharacterIterator *ci, UErrorCode *status);
295
+
296
+ #endif
297
+
298
+
299
+ /**
300
+ * Clone a UText. This is much like opening a UText where the source text is itself
301
+ * another UText.
302
+ *
303
+ * A deep clone will copy both the UText data structures and the underlying text.
304
+ * The original and cloned UText will operate completely independently; modifications
305
+ * made to the text in one will not affect the other. Text providers are not
306
+ * required to support deep clones. The user of clone() must check the status return
307
+ * and be prepared to handle failures.
308
+ *
309
+ * The standard UText implementations for UTF8, UChar *, UnicodeString and
310
+ * Replaceable all support deep cloning.
311
+ *
312
+ * The UText returned from a deep clone will be writable, assuming that the text
313
+ * provider is able to support writing, even if the source UText had been made
314
+ * non-writable by means of UText_freeze().
315
+ *
316
+ * A shallow clone replicates only the UText data structures; it does not make
317
+ * a copy of the underlying text. Shallow clones can be used as an efficient way to
318
+ * have multiple iterators active in a single text string that is not being
319
+ * modified.
320
+ *
321
+ * A shallow clone operation will not fail, barring truly exceptional conditions such
322
+ * as memory allocation failures.
323
+ *
324
+ * Shallow UText clones should be avoided if the UText functions that modify the
325
+ * text are expected to be used, either on the original or the cloned UText.
326
+ * Any such modifications can cause unpredictable behavior. Read Only
327
+ * shallow clones provide some protection against errors of this type by
328
+ * disabling text modification via the cloned UText.
329
+ *
330
+ * A shallow clone made with the readOnly parameter == false will preserve the
331
+ * utext_isWritable() state of the source object. Note, however, that
332
+ * write operations must be avoided while more than one UText exists that refer
333
+ * to the same underlying text.
334
+ *
335
+ * A UText and its clone may be safely concurrently accessed by separate threads.
336
+ * This is true for read access only with shallow clones, and for both read and
337
+ * write access with deep clones.
338
+ * It is the responsibility of the Text Provider to ensure that this thread safety
339
+ * constraint is met.
340
+ *
341
+ * @param dest A UText struct to be filled in with the result of the clone operation,
342
+ * or NULL if the clone function should heap-allocate a new UText struct.
343
+ * If non-NULL, must refer to an already existing UText, which will then
344
+ * be reset to become the clone.
345
+ * @param src The UText to be cloned.
346
+ * @param deep true to request a deep clone, false for a shallow clone.
347
+ * @param readOnly true to request that the cloned UText have read only access to the
348
+ * underlying text.
349
+
350
+ * @param status Errors are returned here. For deep clones, U_UNSUPPORTED_ERROR
351
+ * will be returned if the text provider is unable to clone the
352
+ * original text.
353
+ * @return The newly created clone, or NULL if the clone operation failed.
354
+ * @stable ICU 3.4
355
+ */
356
+ U_CAPI UText * U_EXPORT2
357
+ utext_clone(UText *dest, const UText *src, UBool deep, UBool readOnly, UErrorCode *status);
358
+
359
+
360
+ /**
361
+ * Compare two UText objects for equality.
362
+ * UTexts are equal if they are iterating over the same text, and
363
+ * have the same iteration position within the text.
364
+ * If either or both of the parameters are NULL, the comparison is false.
365
+ *
366
+ * @param a The first of the two UTexts to compare.
367
+ * @param b The other UText to be compared.
368
+ * @return true if the two UTexts are equal.
369
+ * @stable ICU 3.6
370
+ */
371
+ U_CAPI UBool U_EXPORT2
372
+ utext_equals(const UText *a, const UText *b);
373
+
374
+
375
+ /*****************************************************************************
376
+ *
377
+ * Functions to work with the text represented by a UText wrapper
378
+ *
379
+ *****************************************************************************/
380
+
381
+ /**
382
+ * Get the length of the text. Depending on the characteristics
383
+ * of the underlying text representation, this may be expensive.
384
+ * @see utext_isLengthExpensive()
385
+ *
386
+ *
387
+ * @param ut the text to be accessed.
388
+ * @return the length of the text, expressed in native units.
389
+ *
390
+ * @stable ICU 3.4
391
+ */
392
+ U_CAPI int64_t U_EXPORT2
393
+ utext_nativeLength(UText *ut);
394
+
395
+ /**
396
+ * Return true if calculating the length of the text could be expensive.
397
+ * Finding the length of NUL terminated strings is considered to be expensive.
398
+ *
399
+ * Note that the value of this function may change
400
+ * as the result of other operations on a UText.
401
+ * Once the length of a string has been discovered, it will no longer
402
+ * be expensive to report it.
403
+ *
404
+ * @param ut the text to be accessed.
405
+ * @return true if determining the length of the text could be time consuming.
406
+ * @stable ICU 3.4
407
+ */
408
+ U_CAPI UBool U_EXPORT2
409
+ utext_isLengthExpensive(const UText *ut);
410
+
411
+ /**
412
+ * Returns the code point at the requested index,
413
+ * or U_SENTINEL (-1) if it is out of bounds.
414
+ *
415
+ * If the specified index points to the interior of a multi-unit
416
+ * character - one of the trail bytes of a UTF-8 sequence, for example -
417
+ * the complete code point will be returned.
418
+ *
419
+ * The iteration position will be set to the start of the returned code point.
420
+ *
421
+ * This function is roughly equivalent to the sequence
422
+ * utext_setNativeIndex(index);
423
+ * utext_current32();
424
+ * (There is a subtle difference if the index is out of bounds by being less than zero -
425
+ * utext_setNativeIndex(negative value) sets the index to zero, after which utext_current()
426
+ * will return the char at zero. utext_char32At(negative index), on the other hand, will
427
+ * return the U_SENTINEL value of -1.)
428
+ *
429
+ * @param ut the text to be accessed
430
+ * @param nativeIndex the native index of the character to be accessed. If the index points
431
+ * to other than the first unit of a multi-unit character, it will be adjusted
432
+ * to the start of the character.
433
+ * @return the code point at the specified index.
434
+ * @stable ICU 3.4
435
+ */
436
+ U_CAPI UChar32 U_EXPORT2
437
+ utext_char32At(UText *ut, int64_t nativeIndex);
438
+
439
+
440
+ /**
441
+ *
442
+ * Get the code point at the current iteration position,
443
+ * or U_SENTINEL (-1) if the iteration has reached the end of
444
+ * the input text.
445
+ *
446
+ * @param ut the text to be accessed.
447
+ * @return the Unicode code point at the current iterator position.
448
+ * @stable ICU 3.4
449
+ */
450
+ U_CAPI UChar32 U_EXPORT2
451
+ utext_current32(UText *ut);
452
+
453
+
454
+ /**
455
+ * Get the code point at the current iteration position of the UText, and
456
+ * advance the position to the first index following the character.
457
+ *
458
+ * If the position is at the end of the text (the index following
459
+ * the last character, which is also the length of the text),
460
+ * return U_SENTINEL (-1) and do not advance the index.
461
+ *
462
+ * This is a post-increment operation.
463
+ *
464
+ * An inline macro version of this function, UTEXT_NEXT32(),
465
+ * is available for performance critical use.
466
+ *
467
+ * @param ut the text to be accessed.
468
+ * @return the Unicode code point at the iteration position.
469
+ * @see UTEXT_NEXT32
470
+ * @stable ICU 3.4
471
+ */
472
+ U_CAPI UChar32 U_EXPORT2
473
+ utext_next32(UText *ut);
474
+
475
+
476
+ /**
477
+ * Move the iterator position to the character (code point) whose
478
+ * index precedes the current position, and return that character.
479
+ * This is a pre-decrement operation.
480
+ *
481
+ * If the initial position is at the start of the text (index of 0)
482
+ * return U_SENTINEL (-1), and leave the position unchanged.
483
+ *
484
+ * An inline macro version of this function, UTEXT_PREVIOUS32(),
485
+ * is available for performance critical use.
486
+ *
487
+ * @param ut the text to be accessed.
488
+ * @return the previous UChar32 code point, or U_SENTINEL (-1)
489
+ * if the iteration has reached the start of the text.
490
+ * @see UTEXT_PREVIOUS32
491
+ * @stable ICU 3.4
492
+ */
493
+ U_CAPI UChar32 U_EXPORT2
494
+ utext_previous32(UText *ut);
495
+
496
+
497
+ /**
498
+ * Set the iteration index and return the code point at that index.
499
+ * Leave the iteration index at the start of the following code point.
500
+ *
501
+ * This function is the most efficient and convenient way to
502
+ * begin a forward iteration. The results are identical to the those
503
+ * from the sequence
504
+ * \code
505
+ * utext_setIndex();
506
+ * utext_next32();
507
+ * \endcode
508
+ *
509
+ * @param ut the text to be accessed.
510
+ * @param nativeIndex Iteration index, in the native units of the text provider.
511
+ * @return Code point which starts at or before index,
512
+ * or U_SENTINEL (-1) if it is out of bounds.
513
+ * @stable ICU 3.4
514
+ */
515
+ U_CAPI UChar32 U_EXPORT2
516
+ utext_next32From(UText *ut, int64_t nativeIndex);
517
+
518
+
519
+
520
+ /**
521
+ * Set the iteration index, and return the code point preceding the
522
+ * one specified by the initial index. Leave the iteration position
523
+ * at the start of the returned code point.
524
+ *
525
+ * This function is the most efficient and convenient way to
526
+ * begin a backwards iteration.
527
+ *
528
+ * @param ut the text to be accessed.
529
+ * @param nativeIndex Iteration index in the native units of the text provider.
530
+ * @return Code point preceding the one at the initial index,
531
+ * or U_SENTINEL (-1) if it is out of bounds.
532
+ *
533
+ * @stable ICU 3.4
534
+ */
535
+ U_CAPI UChar32 U_EXPORT2
536
+ utext_previous32From(UText *ut, int64_t nativeIndex);
537
+
538
+ /**
539
+ * Get the current iterator position, which can range from 0 to
540
+ * the length of the text.
541
+ * The position is a native index into the input text, in whatever format it
542
+ * may have (possibly UTF-8 for example), and may not always be the same as
543
+ * the corresponding UChar (UTF-16) index.
544
+ * The returned position will always be aligned to a code point boundary.
545
+ *
546
+ * @param ut the text to be accessed.
547
+ * @return the current index position, in the native units of the text provider.
548
+ * @stable ICU 3.4
549
+ */
550
+ U_CAPI int64_t U_EXPORT2
551
+ utext_getNativeIndex(const UText *ut);
552
+
553
+ /**
554
+ * Set the current iteration position to the nearest code point
555
+ * boundary at or preceding the specified index.
556
+ * The index is in the native units of the original input text.
557
+ * If the index is out of range, it will be pinned to be within
558
+ * the range of the input text.
559
+ * <p>
560
+ * It will usually be more efficient to begin an iteration
561
+ * using the functions utext_next32From() or utext_previous32From()
562
+ * rather than setIndex().
563
+ * <p>
564
+ * Moving the index position to an adjacent character is best done
565
+ * with utext_next32(), utext_previous32() or utext_moveIndex32().
566
+ * Attempting to do direct arithmetic on the index position is
567
+ * complicated by the fact that the size (in native units) of a
568
+ * character depends on the underlying representation of the character
569
+ * (UTF-8, UTF-16, UTF-32, arbitrary codepage), and is not
570
+ * easily knowable.
571
+ *
572
+ * @param ut the text to be accessed.
573
+ * @param nativeIndex the native unit index of the new iteration position.
574
+ * @stable ICU 3.4
575
+ */
576
+ U_CAPI void U_EXPORT2
577
+ utext_setNativeIndex(UText *ut, int64_t nativeIndex);
578
+
579
+ /**
580
+ * Move the iterator position by delta code points. The number of code points
581
+ * is a signed number; a negative delta will move the iterator backwards,
582
+ * towards the start of the text.
583
+ * <p>
584
+ * The index is moved by <code>delta</code> code points
585
+ * forward or backward, but no further backward than to 0 and
586
+ * no further forward than to utext_nativeLength().
587
+ * The resulting index value will be in between 0 and length, inclusive.
588
+ *
589
+ * @param ut the text to be accessed.
590
+ * @param delta the signed number of code points to move the iteration position.
591
+ * @return true if the position could be moved the requested number of positions while
592
+ * staying within the range [0 - text length].
593
+ * @stable ICU 3.4
594
+ */
595
+ U_CAPI UBool U_EXPORT2
596
+ utext_moveIndex32(UText *ut, int32_t delta);
597
+
598
+ /**
599
+ * Get the native index of the character preceding the current position.
600
+ * If the iteration position is already at the start of the text, zero
601
+ * is returned.
602
+ * The value returned is the same as that obtained from the following sequence,
603
+ * but without the side effect of changing the iteration position.
604
+ *
605
+ * \code
606
+ * UText *ut = whatever;
607
+ * ...
608
+ * utext_previous(ut)
609
+ * utext_getNativeIndex(ut);
610
+ * \endcode
611
+ *
612
+ * This function is most useful during forwards iteration, where it will get the
613
+ * native index of the character most recently returned from utext_next().
614
+ *
615
+ * @param ut the text to be accessed
616
+ * @return the native index of the character preceding the current index position,
617
+ * or zero if the current position is at the start of the text.
618
+ * @stable ICU 3.6
619
+ */
620
+ U_CAPI int64_t U_EXPORT2
621
+ utext_getPreviousNativeIndex(UText *ut);
622
+
623
+
624
+ /**
625
+ *
626
+ * Extract text from a UText into a UChar buffer. The range of text to be extracted
627
+ * is specified in the native indices of the UText provider. These may not necessarily
628
+ * be UTF-16 indices.
629
+ * <p>
630
+ * The size (number of 16 bit UChars) of the data to be extracted is returned. The
631
+ * full number of UChars is returned, even when the extracted text is truncated
632
+ * because the specified buffer size is too small.
633
+ * <p>
634
+ * The extracted string will (if you are a user) / must (if you are a text provider)
635
+ * be NUL-terminated if there is sufficient space in the destination buffer. This
636
+ * terminating NUL is not included in the returned length.
637
+ * <p>
638
+ * The iteration index is left at the position following the last extracted character.
639
+ *
640
+ * @param ut the UText from which to extract data.
641
+ * @param nativeStart the native index of the first character to extract.\
642
+ * If the specified index is out of range,
643
+ * it will be pinned to be within 0 <= index <= textLength
644
+ * @param nativeLimit the native string index of the position following the last
645
+ * character to extract. If the specified index is out of range,
646
+ * it will be pinned to be within 0 <= index <= textLength.
647
+ * nativeLimit must be >= nativeStart.
648
+ * @param dest the UChar (UTF-16) buffer into which the extracted text is placed
649
+ * @param destCapacity The size, in UChars, of the destination buffer. May be zero
650
+ * for precomputing the required size.
651
+ * @param status receives any error status.
652
+ * U_BUFFER_OVERFLOW_ERROR: the extracted text was truncated because the
653
+ * buffer was too small. Returns number of UChars for preflighting.
654
+ * @return Number of UChars in the data to be extracted. Does not include a trailing NUL.
655
+ *
656
+ * @stable ICU 3.4
657
+ */
658
+ U_CAPI int32_t U_EXPORT2
659
+ utext_extract(UText *ut,
660
+ int64_t nativeStart, int64_t nativeLimit,
661
+ UChar *dest, int32_t destCapacity,
662
+ UErrorCode *status);
663
+
664
+
665
+
666
+ /************************************************************************************
667
+ *
668
+ * #define inline versions of selected performance-critical text access functions
669
+ * Caution: do not use auto increment++ or decrement-- expressions
670
+ * as parameters to these macros.
671
+ *
672
+ * For most use, where there is no extreme performance constraint, the
673
+ * normal, non-inline functions are a better choice. The resulting code
674
+ * will be smaller, and, if the need ever arises, easier to debug.
675
+ *
676
+ * These are implemented as #defines rather than real functions
677
+ * because there is no fully portable way to do inline functions in plain C.
678
+ *
679
+ ************************************************************************************/
680
+
681
+ #ifndef U_HIDE_INTERNAL_API
682
+ /**
683
+ * inline version of utext_current32(), for performance-critical situations.
684
+ *
685
+ * Get the code point at the current iteration position of the UText.
686
+ * Returns U_SENTINEL (-1) if the position is at the end of the
687
+ * text.
688
+ *
689
+ * @internal ICU 4.4 technology preview
690
+ */
691
+ #define UTEXT_CURRENT32(ut) \
692
+ ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \
693
+ ((ut)->chunkContents)[((ut)->chunkOffset)] : utext_current32(ut))
694
+ #endif /* U_HIDE_INTERNAL_API */
695
+
696
+ /**
697
+ * inline version of utext_next32(), for performance-critical situations.
698
+ *
699
+ * Get the code point at the current iteration position of the UText, and
700
+ * advance the position to the first index following the character.
701
+ * This is a post-increment operation.
702
+ * Returns U_SENTINEL (-1) if the position is at the end of the
703
+ * text.
704
+ *
705
+ * @stable ICU 3.4
706
+ */
707
+ #define UTEXT_NEXT32(ut) \
708
+ ((ut)->chunkOffset < (ut)->chunkLength && ((ut)->chunkContents)[(ut)->chunkOffset]<0xd800 ? \
709
+ ((ut)->chunkContents)[((ut)->chunkOffset)++] : utext_next32(ut))
710
+
711
+ /**
712
+ * inline version of utext_previous32(), for performance-critical situations.
713
+ *
714
+ * Move the iterator position to the character (code point) whose
715
+ * index precedes the current position, and return that character.
716
+ * This is a pre-decrement operation.
717
+ * Returns U_SENTINEL (-1) if the position is at the start of the text.
718
+ *
719
+ * @stable ICU 3.4
720
+ */
721
+ #define UTEXT_PREVIOUS32(ut) \
722
+ ((ut)->chunkOffset > 0 && \
723
+ (ut)->chunkContents[(ut)->chunkOffset-1] < 0xd800 ? \
724
+ (ut)->chunkContents[--((ut)->chunkOffset)] : utext_previous32(ut))
725
+
726
+ /**
727
+ * inline version of utext_getNativeIndex(), for performance-critical situations.
728
+ *
729
+ * Get the current iterator position, which can range from 0 to
730
+ * the length of the text.
731
+ * The position is a native index into the input text, in whatever format it
732
+ * may have (possibly UTF-8 for example), and may not always be the same as
733
+ * the corresponding UChar (UTF-16) index.
734
+ * The returned position will always be aligned to a code point boundary.
735
+ *
736
+ * @stable ICU 3.6
737
+ */
738
+ #define UTEXT_GETNATIVEINDEX(ut) \
739
+ ((ut)->chunkOffset <= (ut)->nativeIndexingLimit? \
740
+ (ut)->chunkNativeStart+(ut)->chunkOffset : \
741
+ (ut)->pFuncs->mapOffsetToNative(ut))
742
+
743
+ /**
744
+ * inline version of utext_setNativeIndex(), for performance-critical situations.
745
+ *
746
+ * Set the current iteration position to the nearest code point
747
+ * boundary at or preceding the specified index.
748
+ * The index is in the native units of the original input text.
749
+ * If the index is out of range, it will be pinned to be within
750
+ * the range of the input text.
751
+ *
752
+ * @stable ICU 3.8
753
+ */
754
+ #define UTEXT_SETNATIVEINDEX(ut, ix) UPRV_BLOCK_MACRO_BEGIN { \
755
+ int64_t __offset = (ix) - (ut)->chunkNativeStart; \
756
+ if (__offset>=0 && __offset<(int64_t)(ut)->nativeIndexingLimit && (ut)->chunkContents[__offset]<0xdc00) { \
757
+ (ut)->chunkOffset=(int32_t)__offset; \
758
+ } else { \
759
+ utext_setNativeIndex((ut), (ix)); \
760
+ } \
761
+ } UPRV_BLOCK_MACRO_END
762
+
763
+
764
+
765
+ /************************************************************************************
766
+ *
767
+ * Functions related to writing or modifying the text.
768
+ * These will work only with modifiable UTexts. Attempting to
769
+ * modify a read-only UText will return an error status.
770
+ *
771
+ ************************************************************************************/
772
+
773
+
774
+ /**
775
+ * Return true if the text can be written (modified) with utext_replace() or
776
+ * utext_copy(). For the text to be writable, the text provider must
777
+ * be of a type that supports writing and the UText must not be frozen.
778
+ *
779
+ * Attempting to modify text when utext_isWriteable() is false will fail -
780
+ * the text will not be modified, and an error will be returned from the function
781
+ * that attempted the modification.
782
+ *
783
+ * @param ut the UText to be tested.
784
+ * @return true if the text is modifiable.
785
+ *
786
+ * @see utext_freeze()
787
+ * @see utext_replace()
788
+ * @see utext_copy()
789
+ * @stable ICU 3.4
790
+ *
791
+ */
792
+ U_CAPI UBool U_EXPORT2
793
+ utext_isWritable(const UText *ut);
794
+
795
+
796
+ /**
797
+ * Test whether there is meta data associated with the text.
798
+ * @see Replaceable::hasMetaData()
799
+ *
800
+ * @param ut The UText to be tested
801
+ * @return true if the underlying text includes meta data.
802
+ * @stable ICU 3.4
803
+ */
804
+ U_CAPI UBool U_EXPORT2
805
+ utext_hasMetaData(const UText *ut);
806
+
807
+
808
+ /**
809
+ * Replace a range of the original text with a replacement text.
810
+ *
811
+ * Leaves the current iteration position at the position following the
812
+ * newly inserted replacement text.
813
+ *
814
+ * This function is only available on UText types that support writing,
815
+ * that is, ones where utext_isWritable() returns true.
816
+ *
817
+ * When using this function, there should be only a single UText opened onto the
818
+ * underlying native text string. Behavior after a replace operation
819
+ * on a UText is undefined for any other additional UTexts that refer to the
820
+ * modified string.
821
+ *
822
+ * @param ut the UText representing the text to be operated on.
823
+ * @param nativeStart the native index of the start of the region to be replaced
824
+ * @param nativeLimit the native index of the character following the region to be replaced.
825
+ * @param replacementText pointer to the replacement text
826
+ * @param replacementLength length of the replacement text, or -1 if the text is NUL terminated.
827
+ * @param status receives any error status. Possible errors include
828
+ * U_NO_WRITE_PERMISSION
829
+ *
830
+ * @return The signed number of (native) storage units by which
831
+ * the length of the text expanded or contracted.
832
+ *
833
+ * @stable ICU 3.4
834
+ */
835
+ U_CAPI int32_t U_EXPORT2
836
+ utext_replace(UText *ut,
837
+ int64_t nativeStart, int64_t nativeLimit,
838
+ const UChar *replacementText, int32_t replacementLength,
839
+ UErrorCode *status);
840
+
841
+
842
+
843
+ /**
844
+ *
845
+ * Copy or move a substring from one position to another within the text,
846
+ * while retaining any metadata associated with the text.
847
+ * This function is used to duplicate or reorder substrings.
848
+ * The destination index must not overlap the source range.
849
+ *
850
+ * The text to be copied or moved is inserted at destIndex;
851
+ * it does not replace or overwrite any existing text.
852
+ *
853
+ * The iteration position is left following the newly inserted text
854
+ * at the destination position.
855
+ *
856
+ * This function is only available on UText types that support writing,
857
+ * that is, ones where utext_isWritable() returns true.
858
+ *
859
+ * When using this function, there should be only a single UText opened onto the
860
+ * underlying native text string. Behavior after a copy operation
861
+ * on a UText is undefined in any other additional UTexts that refer to the
862
+ * modified string.
863
+ *
864
+ * @param ut The UText representing the text to be operated on.
865
+ * @param nativeStart The native index of the start of the region to be copied or moved
866
+ * @param nativeLimit The native index of the character position following the region
867
+ * to be copied.
868
+ * @param destIndex The native destination index to which the source substring is
869
+ * copied or moved.
870
+ * @param move If true, then the substring is moved, not copied/duplicated.
871
+ * @param status receives any error status. Possible errors include U_NO_WRITE_PERMISSION
872
+ *
873
+ * @stable ICU 3.4
874
+ */
875
+ U_CAPI void U_EXPORT2
876
+ utext_copy(UText *ut,
877
+ int64_t nativeStart, int64_t nativeLimit,
878
+ int64_t destIndex,
879
+ UBool move,
880
+ UErrorCode *status);
881
+
882
+
883
+ /**
884
+ * <p>
885
+ * Freeze a UText. This prevents any modification to the underlying text itself
886
+ * by means of functions operating on this UText.
887
+ * </p>
888
+ * <p>
889
+ * Once frozen, a UText can not be unfrozen. The intent is to ensure
890
+ * that a the text underlying a frozen UText wrapper cannot be modified via that UText.
891
+ * </p>
892
+ * <p>
893
+ * Caution: freezing a UText will disable changes made via the specific
894
+ * frozen UText wrapper only; it will not have any effect on the ability to
895
+ * directly modify the text by bypassing the UText. Any such backdoor modifications
896
+ * are always an error while UText access is occurring because the underlying
897
+ * text can get out of sync with UText's buffering.
898
+ * </p>
899
+ *
900
+ * @param ut The UText to be frozen.
901
+ * @see utext_isWritable()
902
+ * @stable ICU 3.6
903
+ */
904
+ U_CAPI void U_EXPORT2
905
+ utext_freeze(UText *ut);
906
+
907
+
908
+ /**
909
+ * UText provider properties (bit field indexes).
910
+ *
911
+ * @see UText
912
+ * @stable ICU 3.4
913
+ */
914
+ enum {
915
+ /**
916
+ * It is potentially time consuming for the provider to determine the length of the text.
917
+ * @stable ICU 3.4
918
+ */
919
+ UTEXT_PROVIDER_LENGTH_IS_EXPENSIVE = 1,
920
+ /**
921
+ * Text chunks remain valid and usable until the text object is modified or
922
+ * deleted, not just until the next time the access() function is called
923
+ * (which is the default).
924
+ * @stable ICU 3.4
925
+ */
926
+ UTEXT_PROVIDER_STABLE_CHUNKS = 2,
927
+ /**
928
+ * The provider supports modifying the text via the replace() and copy()
929
+ * functions.
930
+ * @see Replaceable
931
+ * @stable ICU 3.4
932
+ */
933
+ UTEXT_PROVIDER_WRITABLE = 3,
934
+ /**
935
+ * There is meta data associated with the text.
936
+ * @see Replaceable::hasMetaData()
937
+ * @stable ICU 3.4
938
+ */
939
+ UTEXT_PROVIDER_HAS_META_DATA = 4,
940
+ /**
941
+ * Text provider owns the text storage.
942
+ * Generally occurs as the result of a deep clone of the UText.
943
+ * When closing the UText, the associated text must
944
+ * also be closed/deleted/freed/ whatever is appropriate.
945
+ * @stable ICU 3.6
946
+ */
947
+ UTEXT_PROVIDER_OWNS_TEXT = 5
948
+ };
949
+
950
+ #if APPLE_ICU_CHANGES
951
+ // rdar://71262794 Cannot include unicode/utext.h and unicode/umutablecptrie.h together
952
+ // move U_CDECL_BEGIN down here from above
953
+ U_CDECL_BEGIN
954
+ #endif // APPLE_ICU_CHANGES
955
+
956
+ /**
957
+ * Function type declaration for UText.clone().
958
+ *
959
+ * clone a UText. Much like opening a UText where the source text is itself
960
+ * another UText.
961
+ *
962
+ * A deep clone will copy both the UText data structures and the underlying text.
963
+ * The original and cloned UText will operate completely independently; modifications
964
+ * made to the text in one will not effect the other. Text providers are not
965
+ * required to support deep clones. The user of clone() must check the status return
966
+ * and be prepared to handle failures.
967
+ *
968
+ * A shallow clone replicates only the UText data structures; it does not make
969
+ * a copy of the underlying text. Shallow clones can be used as an efficient way to
970
+ * have multiple iterators active in a single text string that is not being
971
+ * modified.
972
+ *
973
+ * A shallow clone operation must not fail except for truly exceptional conditions such
974
+ * as memory allocation failures.
975
+ *
976
+ * A UText and its clone may be safely concurrently accessed by separate threads.
977
+ * This is true for both shallow and deep clones.
978
+ * It is the responsibility of the Text Provider to ensure that this thread safety
979
+ * constraint is met.
980
+
981
+ *
982
+ * @param dest A UText struct to be filled in with the result of the clone operation,
983
+ * or NULL if the clone function should heap-allocate a new UText struct.
984
+ * @param src The UText to be cloned.
985
+ * @param deep true to request a deep clone, false for a shallow clone.
986
+ * @param status Errors are returned here. For deep clones, U_UNSUPPORTED_ERROR
987
+ * should be returned if the text provider is unable to clone the
988
+ * original text.
989
+ * @return The newly created clone, or NULL if the clone operation failed.
990
+ *
991
+ * @stable ICU 3.4
992
+ */
993
+ typedef UText * U_CALLCONV
994
+ UTextClone(UText *dest, const UText *src, UBool deep, UErrorCode *status);
995
+
996
+
997
+ /**
998
+ * Function type declaration for UText.nativeLength().
999
+ *
1000
+ * @param ut the UText to get the length of.
1001
+ * @return the length, in the native units of the original text string.
1002
+ * @see UText
1003
+ * @stable ICU 3.4
1004
+ */
1005
+ typedef int64_t U_CALLCONV
1006
+ UTextNativeLength(UText *ut);
1007
+
1008
+ /**
1009
+ * Function type declaration for UText.access(). Get the description of the text chunk
1010
+ * containing the text at a requested native index. The UText's iteration
1011
+ * position will be left at the requested index. If the index is out
1012
+ * of bounds, the iteration position will be left at the start or end
1013
+ * of the string, as appropriate.
1014
+ *
1015
+ * Chunks must begin and end on code point boundaries. A single code point
1016
+ * comprised of multiple storage units must never span a chunk boundary.
1017
+ *
1018
+ *
1019
+ * @param ut the UText being accessed.
1020
+ * @param nativeIndex Requested index of the text to be accessed.
1021
+ * @param forward If true, then the returned chunk must contain text
1022
+ * starting from the index, so that start<=index<limit.
1023
+ * If false, then the returned chunk must contain text
1024
+ * before the index, so that start<index<=limit.
1025
+ * @return True if the requested index could be accessed. The chunk
1026
+ * will contain the requested text.
1027
+ * False value if a chunk cannot be accessed
1028
+ * (the requested index is out of bounds).
1029
+ *
1030
+ * @see UText
1031
+ * @stable ICU 3.4
1032
+ */
1033
+ typedef UBool U_CALLCONV
1034
+ UTextAccess(UText *ut, int64_t nativeIndex, UBool forward);
1035
+
1036
+ /**
1037
+ * Function type declaration for UText.extract().
1038
+ *
1039
+ * Extract text from a UText into a UChar buffer. The range of text to be extracted
1040
+ * is specified in the native indices of the UText provider. These may not necessarily
1041
+ * be UTF-16 indices.
1042
+ * <p>
1043
+ * The size (number of 16 bit UChars) in the data to be extracted is returned. The
1044
+ * full amount is returned, even when the specified buffer size is smaller.
1045
+ * <p>
1046
+ * The extracted string will (if you are a user) / must (if you are a text provider)
1047
+ * be NUL-terminated if there is sufficient space in the destination buffer.
1048
+ *
1049
+ * @param ut the UText from which to extract data.
1050
+ * @param nativeStart the native index of the first character to extract.
1051
+ * @param nativeLimit the native string index of the position following the last
1052
+ * character to extract.
1053
+ * @param dest the UChar (UTF-16) buffer into which the extracted text is placed
1054
+ * @param destCapacity The size, in UChars, of the destination buffer. May be zero
1055
+ * for precomputing the required size.
1056
+ * @param status receives any error status.
1057
+ * If U_BUFFER_OVERFLOW_ERROR: Returns number of UChars for
1058
+ * preflighting.
1059
+ * @return Number of UChars in the data. Does not include a trailing NUL.
1060
+ *
1061
+ * @stable ICU 3.4
1062
+ */
1063
+ typedef int32_t U_CALLCONV
1064
+ UTextExtract(UText *ut,
1065
+ int64_t nativeStart, int64_t nativeLimit,
1066
+ UChar *dest, int32_t destCapacity,
1067
+ UErrorCode *status);
1068
+
1069
+ /**
1070
+ * Function type declaration for UText.replace().
1071
+ *
1072
+ * Replace a range of the original text with a replacement text.
1073
+ *
1074
+ * Leaves the current iteration position at the position following the
1075
+ * newly inserted replacement text.
1076
+ *
1077
+ * This function need only be implemented on UText types that support writing.
1078
+ *
1079
+ * When using this function, there should be only a single UText opened onto the
1080
+ * underlying native text string. The function is responsible for updating the
1081
+ * text chunk within the UText to reflect the updated iteration position,
1082
+ * taking into account any changes to the underlying string's structure caused
1083
+ * by the replace operation.
1084
+ *
1085
+ * @param ut the UText representing the text to be operated on.
1086
+ * @param nativeStart the index of the start of the region to be replaced
1087
+ * @param nativeLimit the index of the character following the region to be replaced.
1088
+ * @param replacementText pointer to the replacement text
1089
+ * @param replacmentLength length of the replacement text in UChars, or -1 if the text is NUL terminated.
1090
+ * @param status receives any error status. Possible errors include
1091
+ * U_NO_WRITE_PERMISSION
1092
+ *
1093
+ * @return The signed number of (native) storage units by which
1094
+ * the length of the text expanded or contracted.
1095
+ *
1096
+ * @stable ICU 3.4
1097
+ */
1098
+ typedef int32_t U_CALLCONV
1099
+ UTextReplace(UText *ut,
1100
+ int64_t nativeStart, int64_t nativeLimit,
1101
+ const UChar *replacementText, int32_t replacmentLength,
1102
+ UErrorCode *status);
1103
+
1104
+ /**
1105
+ * Function type declaration for UText.copy().
1106
+ *
1107
+ * Copy or move a substring from one position to another within the text,
1108
+ * while retaining any metadata associated with the text.
1109
+ * This function is used to duplicate or reorder substrings.
1110
+ * The destination index must not overlap the source range.
1111
+ *
1112
+ * The text to be copied or moved is inserted at destIndex;
1113
+ * it does not replace or overwrite any existing text.
1114
+ *
1115
+ * This function need only be implemented for UText types that support writing.
1116
+ *
1117
+ * When using this function, there should be only a single UText opened onto the
1118
+ * underlying native text string. The function is responsible for updating the
1119
+ * text chunk within the UText to reflect the updated iteration position,
1120
+ * taking into account any changes to the underlying string's structure caused
1121
+ * by the replace operation.
1122
+ *
1123
+ * @param ut The UText representing the text to be operated on.
1124
+ * @param nativeStart The index of the start of the region to be copied or moved
1125
+ * @param nativeLimit The index of the character following the region to be replaced.
1126
+ * @param nativeDest The destination index to which the source substring is copied or moved.
1127
+ * @param move If true, then the substring is moved, not copied/duplicated.
1128
+ * @param status receives any error status. Possible errors include U_NO_WRITE_PERMISSION
1129
+ *
1130
+ * @stable ICU 3.4
1131
+ */
1132
+ typedef void U_CALLCONV
1133
+ UTextCopy(UText *ut,
1134
+ int64_t nativeStart, int64_t nativeLimit,
1135
+ int64_t nativeDest,
1136
+ UBool move,
1137
+ UErrorCode *status);
1138
+
1139
+ /**
1140
+ * Function type declaration for UText.mapOffsetToNative().
1141
+ * Map from the current UChar offset within the current text chunk to
1142
+ * the corresponding native index in the original source text.
1143
+ *
1144
+ * This is required only for text providers that do not use native UTF-16 indexes.
1145
+ *
1146
+ * @param ut the UText.
1147
+ * @return Absolute (native) index corresponding to chunkOffset in the current chunk.
1148
+ * The returned native index should always be to a code point boundary.
1149
+ *
1150
+ * @stable ICU 3.4
1151
+ */
1152
+ typedef int64_t U_CALLCONV
1153
+ UTextMapOffsetToNative(const UText *ut);
1154
+
1155
+ /**
1156
+ * Function type declaration for UText.mapIndexToUTF16().
1157
+ * Map from a native index to a UChar offset within a text chunk.
1158
+ * Behavior is undefined if the native index does not fall within the
1159
+ * current chunk.
1160
+ *
1161
+ * This function is required only for text providers that do not use native UTF-16 indexes.
1162
+ *
1163
+ * @param ut The UText containing the text chunk.
1164
+ * @param nativeIndex Absolute (native) text index, chunk->start<=index<=chunk->limit.
1165
+ * @return Chunk-relative UTF-16 offset corresponding to the specified native
1166
+ * index.
1167
+ *
1168
+ * @stable ICU 3.4
1169
+ */
1170
+ typedef int32_t U_CALLCONV
1171
+ UTextMapNativeIndexToUTF16(const UText *ut, int64_t nativeIndex);
1172
+
1173
+
1174
+ /**
1175
+ * Function type declaration for UText.utextClose().
1176
+ *
1177
+ * A Text Provider close function is only required for provider types that make
1178
+ * allocations in their open function (or other functions) that must be
1179
+ * cleaned when the UText is closed.
1180
+ *
1181
+ * The allocation of the UText struct itself and any "extra" storage
1182
+ * associated with the UText is handled by the common UText implementation
1183
+ * and does not require provider specific cleanup in a close function.
1184
+ *
1185
+ * Most UText provider implementations do not need to implement this function.
1186
+ *
1187
+ * @param ut A UText object to be closed.
1188
+ *
1189
+ * @stable ICU 3.4
1190
+ */
1191
+ typedef void U_CALLCONV
1192
+ UTextClose(UText *ut);
1193
+
1194
+
1195
+ /**
1196
+ * (public) Function dispatch table for UText.
1197
+ * Conceptually very much like a C++ Virtual Function Table.
1198
+ * This struct defines the organization of the table.
1199
+ * Each text provider implementation must provide an
1200
+ * actual table that is initialized with the appropriate functions
1201
+ * for the type of text being handled.
1202
+ * @stable ICU 3.6
1203
+ */
1204
+ struct UTextFuncs {
1205
+ /**
1206
+ * (public) Function table size, sizeof(UTextFuncs)
1207
+ * Intended for use should the table grow to accommodate added
1208
+ * functions in the future, to allow tests for older format
1209
+ * function tables that do not contain the extensions.
1210
+ *
1211
+ * Fields are placed for optimal alignment on
1212
+ * 32/64/128-bit-pointer machines, by normally grouping together
1213
+ * 4 32-bit fields,
1214
+ * 4 pointers,
1215
+ * 2 64-bit fields
1216
+ * in sequence.
1217
+ * @stable ICU 3.6
1218
+ */
1219
+ int32_t tableSize;
1220
+
1221
+ /**
1222
+ * (private) Alignment padding.
1223
+ * Do not use, reserved for use by the UText framework only.
1224
+ * @internal
1225
+ */
1226
+ int32_t reserved1, /** @internal */ reserved2, /** @internal */ reserved3;
1227
+
1228
+
1229
+ /**
1230
+ * (public) Function pointer for UTextClone
1231
+ *
1232
+ * @see UTextClone
1233
+ * @stable ICU 3.6
1234
+ */
1235
+ UTextClone *clone;
1236
+
1237
+ /**
1238
+ * (public) function pointer for UTextLength
1239
+ * May be expensive to compute!
1240
+ *
1241
+ * @see UTextLength
1242
+ * @stable ICU 3.6
1243
+ */
1244
+ UTextNativeLength *nativeLength;
1245
+
1246
+ /**
1247
+ * (public) Function pointer for UTextAccess.
1248
+ *
1249
+ * @see UTextAccess
1250
+ * @stable ICU 3.6
1251
+ */
1252
+ UTextAccess *access;
1253
+
1254
+ /**
1255
+ * (public) Function pointer for UTextExtract.
1256
+ *
1257
+ * @see UTextExtract
1258
+ * @stable ICU 3.6
1259
+ */
1260
+ UTextExtract *extract;
1261
+
1262
+ /**
1263
+ * (public) Function pointer for UTextReplace.
1264
+ *
1265
+ * @see UTextReplace
1266
+ * @stable ICU 3.6
1267
+ */
1268
+ UTextReplace *replace;
1269
+
1270
+ /**
1271
+ * (public) Function pointer for UTextCopy.
1272
+ *
1273
+ * @see UTextCopy
1274
+ * @stable ICU 3.6
1275
+ */
1276
+ UTextCopy *copy;
1277
+
1278
+ /**
1279
+ * (public) Function pointer for UTextMapOffsetToNative.
1280
+ *
1281
+ * @see UTextMapOffsetToNative
1282
+ * @stable ICU 3.6
1283
+ */
1284
+ UTextMapOffsetToNative *mapOffsetToNative;
1285
+
1286
+ /**
1287
+ * (public) Function pointer for UTextMapNativeIndexToUTF16.
1288
+ *
1289
+ * @see UTextMapNativeIndexToUTF16
1290
+ * @stable ICU 3.6
1291
+ */
1292
+ UTextMapNativeIndexToUTF16 *mapNativeIndexToUTF16;
1293
+
1294
+ /**
1295
+ * (public) Function pointer for UTextClose.
1296
+ *
1297
+ * @see UTextClose
1298
+ * @stable ICU 3.6
1299
+ */
1300
+ UTextClose *close;
1301
+
1302
+ /**
1303
+ * (private) Spare function pointer
1304
+ * @internal
1305
+ */
1306
+ UTextClose *spare1;
1307
+
1308
+ /**
1309
+ * (private) Spare function pointer
1310
+ * @internal
1311
+ */
1312
+ UTextClose *spare2;
1313
+
1314
+ /**
1315
+ * (private) Spare function pointer
1316
+ * @internal
1317
+ */
1318
+ UTextClose *spare3;
1319
+
1320
+ };
1321
+ /**
1322
+ * Function dispatch table for UText
1323
+ * @see UTextFuncs
1324
+ */
1325
+ typedef struct UTextFuncs UTextFuncs;
1326
+
1327
+ /**
1328
+ * UText struct. Provides the interface between the generic UText access code
1329
+ * and the UText provider code that works on specific kinds of
1330
+ * text (UTF-8, noncontiguous UTF-16, whatever.)
1331
+ *
1332
+ * Applications that are using predefined types of text providers
1333
+ * to pass text data to ICU services will have no need to view the
1334
+ * internals of the UText structs that they open.
1335
+ *
1336
+ * @stable ICU 3.6
1337
+ */
1338
+ struct UText {
1339
+ /**
1340
+ * (private) Magic. Used to help detect when UText functions are handed
1341
+ * invalid or uninitialized UText structs.
1342
+ * utext_openXYZ() functions take an initialized,
1343
+ * but not necessarily open, UText struct as an
1344
+ * optional fill-in parameter. This magic field
1345
+ * is used to check for that initialization.
1346
+ * Text provider close functions must NOT clear
1347
+ * the magic field because that would prevent
1348
+ * reuse of the UText struct.
1349
+ * @internal
1350
+ */
1351
+ uint32_t magic;
1352
+
1353
+
1354
+ /**
1355
+ * (private) Flags for managing the allocation and freeing of
1356
+ * memory associated with this UText.
1357
+ * @internal
1358
+ */
1359
+ int32_t flags;
1360
+
1361
+
1362
+ /**
1363
+ * Text provider properties. This set of flags is maintained by the
1364
+ * text provider implementation.
1365
+ * @stable ICU 3.4
1366
+ */
1367
+ int32_t providerProperties;
1368
+
1369
+ /**
1370
+ * (public) sizeOfStruct=sizeof(UText)
1371
+ * Allows possible backward compatible extension.
1372
+ *
1373
+ * @stable ICU 3.4
1374
+ */
1375
+ int32_t sizeOfStruct;
1376
+
1377
+ /* ------ 16 byte alignment boundary ----------- */
1378
+
1379
+
1380
+ /**
1381
+ * (protected) Native index of the first character position following
1382
+ * the current chunk.
1383
+ * @stable ICU 3.6
1384
+ */
1385
+ int64_t chunkNativeLimit;
1386
+
1387
+ /**
1388
+ * (protected) Size in bytes of the extra space (pExtra).
1389
+ * @stable ICU 3.4
1390
+ */
1391
+ int32_t extraSize;
1392
+
1393
+ /**
1394
+ * (protected) The highest chunk offset where native indexing and
1395
+ * chunk (UTF-16) indexing correspond. For UTF-16 sources, value
1396
+ * will be equal to chunkLength.
1397
+ *
1398
+ * @stable ICU 3.6
1399
+ */
1400
+ int32_t nativeIndexingLimit;
1401
+
1402
+ /* ---- 16 byte alignment boundary------ */
1403
+
1404
+ /**
1405
+ * (protected) Native index of the first character in the text chunk.
1406
+ * @stable ICU 3.6
1407
+ */
1408
+ int64_t chunkNativeStart;
1409
+
1410
+ /**
1411
+ * (protected) Current iteration position within the text chunk (UTF-16 buffer).
1412
+ * This is the index to the character that will be returned by utext_next32().
1413
+ * @stable ICU 3.6
1414
+ */
1415
+ int32_t chunkOffset;
1416
+
1417
+ /**
1418
+ * (protected) Length the text chunk (UTF-16 buffer), in UChars.
1419
+ * @stable ICU 3.6
1420
+ */
1421
+ int32_t chunkLength;
1422
+
1423
+ /* ---- 16 byte alignment boundary-- */
1424
+
1425
+
1426
+ /**
1427
+ * (protected) pointer to a chunk of text in UTF-16 format.
1428
+ * May refer either to original storage of the source of the text, or
1429
+ * if conversion was required, to a buffer owned by the UText.
1430
+ * @stable ICU 3.6
1431
+ */
1432
+ const UChar *chunkContents;
1433
+
1434
+ /**
1435
+ * (public) Pointer to Dispatch table for accessing functions for this UText.
1436
+ * @stable ICU 3.6
1437
+ */
1438
+ const UTextFuncs *pFuncs;
1439
+
1440
+ /**
1441
+ * (protected) Pointer to additional space requested by the
1442
+ * text provider during the utext_open operation.
1443
+ * @stable ICU 3.4
1444
+ */
1445
+ void *pExtra;
1446
+
1447
+ /**
1448
+ * (protected) Pointer to string or text-containing object or similar.
1449
+ * This is the source of the text that this UText is wrapping, in a format
1450
+ * that is known to the text provider functions.
1451
+ * @stable ICU 3.4
1452
+ */
1453
+ const void *context;
1454
+
1455
+ /* --- 16 byte alignment boundary--- */
1456
+
1457
+ /**
1458
+ * (protected) Pointer fields available for use by the text provider.
1459
+ * Not used by UText common code.
1460
+ * @stable ICU 3.6
1461
+ */
1462
+ const void *p;
1463
+ /**
1464
+ * (protected) Pointer fields available for use by the text provider.
1465
+ * Not used by UText common code.
1466
+ * @stable ICU 3.6
1467
+ */
1468
+ const void *q;
1469
+ /**
1470
+ * (protected) Pointer fields available for use by the text provider.
1471
+ * Not used by UText common code.
1472
+ * @stable ICU 3.6
1473
+ */
1474
+ const void *r;
1475
+
1476
+ /**
1477
+ * Private field reserved for future use by the UText framework
1478
+ * itself. This is not to be touched by the text providers.
1479
+ * @internal ICU 3.4
1480
+ */
1481
+ void *privP;
1482
+
1483
+
1484
+ /* --- 16 byte alignment boundary--- */
1485
+
1486
+
1487
+ /**
1488
+ * (protected) Integer field reserved for use by the text provider.
1489
+ * Not used by the UText framework, or by the client (user) of the UText.
1490
+ * @stable ICU 3.4
1491
+ */
1492
+ int64_t a;
1493
+
1494
+ /**
1495
+ * (protected) Integer field reserved for use by the text provider.
1496
+ * Not used by the UText framework, or by the client (user) of the UText.
1497
+ * @stable ICU 3.4
1498
+ */
1499
+ int32_t b;
1500
+
1501
+ /**
1502
+ * (protected) Integer field reserved for use by the text provider.
1503
+ * Not used by the UText framework, or by the client (user) of the UText.
1504
+ * @stable ICU 3.4
1505
+ */
1506
+ int32_t c;
1507
+
1508
+ /* ---- 16 byte alignment boundary---- */
1509
+
1510
+
1511
+ /**
1512
+ * Private field reserved for future use by the UText framework
1513
+ * itself. This is not to be touched by the text providers.
1514
+ * @internal ICU 3.4
1515
+ */
1516
+ int64_t privA;
1517
+ /**
1518
+ * Private field reserved for future use by the UText framework
1519
+ * itself. This is not to be touched by the text providers.
1520
+ * @internal ICU 3.4
1521
+ */
1522
+ int32_t privB;
1523
+ /**
1524
+ * Private field reserved for future use by the UText framework
1525
+ * itself. This is not to be touched by the text providers.
1526
+ * @internal ICU 3.4
1527
+ */
1528
+ int32_t privC;
1529
+ };
1530
+
1531
+
1532
+ /**
1533
+ * Common function for use by Text Provider implementations to allocate and/or initialize
1534
+ * a new UText struct. To be called in the implementation of utext_open() functions.
1535
+ * If the supplied UText parameter is null, a new UText struct will be allocated on the heap.
1536
+ * If the supplied UText is already open, the provider's close function will be called
1537
+ * so that the struct can be reused by the open that is in progress.
1538
+ *
1539
+ * @param ut pointer to a UText struct to be re-used, or null if a new UText
1540
+ * should be allocated.
1541
+ * @param extraSpace The amount of additional space to be allocated as part
1542
+ * of this UText, for use by types of providers that require
1543
+ * additional storage.
1544
+ * @param status Errors are returned here.
1545
+ * @return pointer to the UText, allocated if necessary, with extra space set up if requested.
1546
+ * @stable ICU 3.4
1547
+ */
1548
+ U_CAPI UText * U_EXPORT2
1549
+ utext_setup(UText *ut, int32_t extraSpace, UErrorCode *status);
1550
+
1551
+ // do not use #ifndef U_HIDE_INTERNAL_API around the following!
1552
+ /**
1553
+ * @internal
1554
+ * Value used to help identify correctly initialized UText structs.
1555
+ * Note: must be publicly visible so that UTEXT_INITIALIZER can access it.
1556
+ */
1557
+ enum {
1558
+ UTEXT_MAGIC = 0x345ad82c
1559
+ };
1560
+
1561
+ /**
1562
+ * initializer to be used with local (stack) instances of a UText
1563
+ * struct. UText structs must be initialized before passing
1564
+ * them to one of the utext_open functions.
1565
+ *
1566
+ * @stable ICU 3.6
1567
+ */
1568
+ #define UTEXT_INITIALIZER { \
1569
+ UTEXT_MAGIC, /* magic */ \
1570
+ 0, /* flags */ \
1571
+ 0, /* providerProps */ \
1572
+ sizeof(UText), /* sizeOfStruct */ \
1573
+ 0, /* chunkNativeLimit */ \
1574
+ 0, /* extraSize */ \
1575
+ 0, /* nativeIndexingLimit */ \
1576
+ 0, /* chunkNativeStart */ \
1577
+ 0, /* chunkOffset */ \
1578
+ 0, /* chunkLength */ \
1579
+ NULL, /* chunkContents */ \
1580
+ NULL, /* pFuncs */ \
1581
+ NULL, /* pExtra */ \
1582
+ NULL, /* context */ \
1583
+ NULL, NULL, NULL, /* p, q, r */ \
1584
+ NULL, /* privP */ \
1585
+ 0, 0, 0, /* a, b, c */ \
1586
+ 0, 0, 0 /* privA,B,C, */ \
1587
+ }
1588
+
1589
+
1590
+ U_CDECL_END
1591
+
1592
+
1593
+ #if U_SHOW_CPLUSPLUS_API
1594
+
1595
+ U_NAMESPACE_BEGIN
1596
+
1597
+ /**
1598
+ * \class LocalUTextPointer
1599
+ * "Smart pointer" class, closes a UText via utext_close().
1600
+ * For most methods see the LocalPointerBase base class.
1601
+ *
1602
+ * @see LocalPointerBase
1603
+ * @see LocalPointer
1604
+ * @stable ICU 4.4
1605
+ */
1606
+ U_DEFINE_LOCAL_OPEN_POINTER(LocalUTextPointer, UText, utext_close);
1607
+
1608
+ U_NAMESPACE_END
1609
+
1610
+ #endif
1611
+
1612
+
1613
+ #endif