Cython 3.2.0__cp39-abi3-win32.whl

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 (333) hide show
  1. Cython/Build/BuildExecutable.py +169 -0
  2. Cython/Build/Cache.py +199 -0
  3. Cython/Build/Cythonize.py +350 -0
  4. Cython/Build/Dependencies.py +1314 -0
  5. Cython/Build/Distutils.py +1 -0
  6. Cython/Build/Inline.py +463 -0
  7. Cython/Build/IpythonMagic.py +560 -0
  8. Cython/Build/SharedModule.py +94 -0
  9. Cython/Build/Tests/TestCyCache.py +194 -0
  10. Cython/Build/Tests/TestCythonizeArgsParser.py +481 -0
  11. Cython/Build/Tests/TestDependencies.py +133 -0
  12. Cython/Build/Tests/TestInline.py +177 -0
  13. Cython/Build/Tests/TestIpythonMagic.py +287 -0
  14. Cython/Build/Tests/TestRecythonize.py +212 -0
  15. Cython/Build/Tests/TestStripLiterals.py +155 -0
  16. Cython/Build/Tests/__init__.py +1 -0
  17. Cython/Build/__init__.py +11 -0
  18. Cython/CodeWriter.py +815 -0
  19. Cython/Compiler/AnalysedTreeTransforms.py +97 -0
  20. Cython/Compiler/Annotate.py +328 -0
  21. Cython/Compiler/AutoDocTransforms.py +320 -0
  22. Cython/Compiler/Buffer.py +680 -0
  23. Cython/Compiler/Builtin.py +984 -0
  24. Cython/Compiler/CmdLine.py +263 -0
  25. Cython/Compiler/Code.pxd +149 -0
  26. Cython/Compiler/Code.py +3746 -0
  27. Cython/Compiler/Code.pyd +0 -0
  28. Cython/Compiler/CodeGeneration.py +33 -0
  29. Cython/Compiler/CythonScope.py +191 -0
  30. Cython/Compiler/Dataclass.py +864 -0
  31. Cython/Compiler/DebugFlags.py +24 -0
  32. Cython/Compiler/Errors.py +297 -0
  33. Cython/Compiler/ExprNodes.py +15562 -0
  34. Cython/Compiler/FlowControl.pxd +97 -0
  35. Cython/Compiler/FlowControl.py +1451 -0
  36. Cython/Compiler/FlowControl.pyd +0 -0
  37. Cython/Compiler/FusedNode.py +971 -0
  38. Cython/Compiler/FusedNode.pyd +0 -0
  39. Cython/Compiler/Future.py +16 -0
  40. Cython/Compiler/Interpreter.py +57 -0
  41. Cython/Compiler/Lexicon.py +421 -0
  42. Cython/Compiler/LineTable.py +114 -0
  43. Cython/Compiler/LineTable.pyd +0 -0
  44. Cython/Compiler/Main.py +857 -0
  45. Cython/Compiler/MatchCaseNodes.py +259 -0
  46. Cython/Compiler/MemoryView.py +905 -0
  47. Cython/Compiler/ModuleNode.py +4235 -0
  48. Cython/Compiler/Naming.py +363 -0
  49. Cython/Compiler/Nodes.py +10831 -0
  50. Cython/Compiler/Optimize.py +5288 -0
  51. Cython/Compiler/Options.py +843 -0
  52. Cython/Compiler/ParseTreeTransforms.pxd +78 -0
  53. Cython/Compiler/ParseTreeTransforms.py +4638 -0
  54. Cython/Compiler/Parsing.pxd +9 -0
  55. Cython/Compiler/Parsing.py +4775 -0
  56. Cython/Compiler/Parsing.pyd +0 -0
  57. Cython/Compiler/Pipeline.py +439 -0
  58. Cython/Compiler/PyrexTypes.py +5870 -0
  59. Cython/Compiler/Pythran.py +232 -0
  60. Cython/Compiler/Scanning.pxd +48 -0
  61. Cython/Compiler/Scanning.py +701 -0
  62. Cython/Compiler/Scanning.pyd +0 -0
  63. Cython/Compiler/StringEncoding.py +298 -0
  64. Cython/Compiler/Symtab.py +3073 -0
  65. Cython/Compiler/Tests/TestBuffer.py +105 -0
  66. Cython/Compiler/Tests/TestBuiltin.py +72 -0
  67. Cython/Compiler/Tests/TestCmdLine.py +586 -0
  68. Cython/Compiler/Tests/TestCode.py +144 -0
  69. Cython/Compiler/Tests/TestFlowControl.py +65 -0
  70. Cython/Compiler/Tests/TestGrammar.py +202 -0
  71. Cython/Compiler/Tests/TestMemView.py +71 -0
  72. Cython/Compiler/Tests/TestParseTreeTransforms.py +285 -0
  73. Cython/Compiler/Tests/TestScanning.py +134 -0
  74. Cython/Compiler/Tests/TestSignatureMatching.py +73 -0
  75. Cython/Compiler/Tests/TestStringEncoding.py +21 -0
  76. Cython/Compiler/Tests/TestTreeFragment.py +63 -0
  77. Cython/Compiler/Tests/TestTreePath.py +103 -0
  78. Cython/Compiler/Tests/TestTypes.py +75 -0
  79. Cython/Compiler/Tests/TestUtilityLoad.py +112 -0
  80. Cython/Compiler/Tests/TestVisitor.py +61 -0
  81. Cython/Compiler/Tests/Utils.py +36 -0
  82. Cython/Compiler/Tests/__init__.py +1 -0
  83. Cython/Compiler/TreeFragment.py +278 -0
  84. Cython/Compiler/TreePath.py +303 -0
  85. Cython/Compiler/TypeInference.py +591 -0
  86. Cython/Compiler/TypeSlots.py +1174 -0
  87. Cython/Compiler/UFuncs.py +311 -0
  88. Cython/Compiler/UtilNodes.py +389 -0
  89. Cython/Compiler/UtilityCode.py +344 -0
  90. Cython/Compiler/Version.py +8 -0
  91. Cython/Compiler/Visitor.pxd +53 -0
  92. Cython/Compiler/Visitor.py +861 -0
  93. Cython/Compiler/Visitor.pyd +0 -0
  94. Cython/Compiler/__init__.py +1 -0
  95. Cython/Coverage.py +448 -0
  96. Cython/Debugger/Cygdb.py +177 -0
  97. Cython/Debugger/DebugWriter.py +82 -0
  98. Cython/Debugger/Tests/TestLibCython.py +275 -0
  99. Cython/Debugger/Tests/__init__.py +1 -0
  100. Cython/Debugger/Tests/cfuncs.c +8 -0
  101. Cython/Debugger/Tests/codefile +49 -0
  102. Cython/Debugger/Tests/test_libcython_in_gdb.py +578 -0
  103. Cython/Debugger/Tests/test_libpython_in_gdb.py +90 -0
  104. Cython/Debugger/__init__.py +1 -0
  105. Cython/Debugger/libcython.py +1548 -0
  106. Cython/Debugger/libpython.py +2821 -0
  107. Cython/Debugging.py +20 -0
  108. Cython/Distutils/__init__.py +2 -0
  109. Cython/Distutils/build_ext.py +139 -0
  110. Cython/Distutils/extension.py +96 -0
  111. Cython/Distutils/old_build_ext.py +351 -0
  112. Cython/Includes/cpython/__init__.pxd +173 -0
  113. Cython/Includes/cpython/array.pxd +178 -0
  114. Cython/Includes/cpython/bool.pxd +37 -0
  115. Cython/Includes/cpython/buffer.pxd +112 -0
  116. Cython/Includes/cpython/bytearray.pxd +33 -0
  117. Cython/Includes/cpython/bytes.pxd +200 -0
  118. Cython/Includes/cpython/cellobject.pxd +35 -0
  119. Cython/Includes/cpython/ceval.pxd +8 -0
  120. Cython/Includes/cpython/codecs.pxd +121 -0
  121. Cython/Includes/cpython/complex.pxd +60 -0
  122. Cython/Includes/cpython/contextvars.pxd +145 -0
  123. Cython/Includes/cpython/conversion.pxd +36 -0
  124. Cython/Includes/cpython/datetime.pxd +395 -0
  125. Cython/Includes/cpython/descr.pxd +26 -0
  126. Cython/Includes/cpython/dict.pxd +187 -0
  127. Cython/Includes/cpython/exc.pxd +263 -0
  128. Cython/Includes/cpython/fileobject.pxd +57 -0
  129. Cython/Includes/cpython/float.pxd +47 -0
  130. Cython/Includes/cpython/function.pxd +65 -0
  131. Cython/Includes/cpython/genobject.pxd +25 -0
  132. Cython/Includes/cpython/getargs.pxd +12 -0
  133. Cython/Includes/cpython/instance.pxd +25 -0
  134. Cython/Includes/cpython/iterator.pxd +36 -0
  135. Cython/Includes/cpython/iterobject.pxd +24 -0
  136. Cython/Includes/cpython/list.pxd +92 -0
  137. Cython/Includes/cpython/long.pxd +149 -0
  138. Cython/Includes/cpython/longintrepr.pxd +14 -0
  139. Cython/Includes/cpython/mapping.pxd +63 -0
  140. Cython/Includes/cpython/marshal.pxd +66 -0
  141. Cython/Includes/cpython/mem.pxd +120 -0
  142. Cython/Includes/cpython/memoryview.pxd +50 -0
  143. Cython/Includes/cpython/method.pxd +49 -0
  144. Cython/Includes/cpython/module.pxd +208 -0
  145. Cython/Includes/cpython/number.pxd +258 -0
  146. Cython/Includes/cpython/object.pxd +433 -0
  147. Cython/Includes/cpython/pycapsule.pxd +143 -0
  148. Cython/Includes/cpython/pylifecycle.pxd +68 -0
  149. Cython/Includes/cpython/pyport.pxd +8 -0
  150. Cython/Includes/cpython/pystate.pxd +95 -0
  151. Cython/Includes/cpython/pythread.pxd +53 -0
  152. Cython/Includes/cpython/ref.pxd +141 -0
  153. Cython/Includes/cpython/sequence.pxd +134 -0
  154. Cython/Includes/cpython/set.pxd +119 -0
  155. Cython/Includes/cpython/slice.pxd +70 -0
  156. Cython/Includes/cpython/time.pxd +129 -0
  157. Cython/Includes/cpython/tuple.pxd +72 -0
  158. Cython/Includes/cpython/type.pxd +53 -0
  159. Cython/Includes/cpython/unicode.pxd +639 -0
  160. Cython/Includes/cpython/version.pxd +32 -0
  161. Cython/Includes/cpython/weakref.pxd +78 -0
  162. Cython/Includes/libc/__init__.pxd +1 -0
  163. Cython/Includes/libc/complex.pxd +35 -0
  164. Cython/Includes/libc/errno.pxd +127 -0
  165. Cython/Includes/libc/float.pxd +43 -0
  166. Cython/Includes/libc/limits.pxd +28 -0
  167. Cython/Includes/libc/locale.pxd +46 -0
  168. Cython/Includes/libc/math.pxd +209 -0
  169. Cython/Includes/libc/setjmp.pxd +10 -0
  170. Cython/Includes/libc/signal.pxd +64 -0
  171. Cython/Includes/libc/stddef.pxd +9 -0
  172. Cython/Includes/libc/stdint.pxd +105 -0
  173. Cython/Includes/libc/stdio.pxd +80 -0
  174. Cython/Includes/libc/stdlib.pxd +72 -0
  175. Cython/Includes/libc/string.pxd +50 -0
  176. Cython/Includes/libc/threads.pxd +234 -0
  177. Cython/Includes/libc/time.pxd +52 -0
  178. Cython/Includes/libcpp/__init__.pxd +4 -0
  179. Cython/Includes/libcpp/algorithm.pxd +320 -0
  180. Cython/Includes/libcpp/any.pxd +16 -0
  181. Cython/Includes/libcpp/atomic.pxd +59 -0
  182. Cython/Includes/libcpp/barrier.pxd +22 -0
  183. Cython/Includes/libcpp/bit.pxd +29 -0
  184. Cython/Includes/libcpp/cast.pxd +12 -0
  185. Cython/Includes/libcpp/cmath.pxd +518 -0
  186. Cython/Includes/libcpp/complex.pxd +106 -0
  187. Cython/Includes/libcpp/condition_variable.pxd +322 -0
  188. Cython/Includes/libcpp/deque.pxd +165 -0
  189. Cython/Includes/libcpp/exception.pxd +86 -0
  190. Cython/Includes/libcpp/execution.pxd +15 -0
  191. Cython/Includes/libcpp/forward_list.pxd +63 -0
  192. Cython/Includes/libcpp/functional.pxd +26 -0
  193. Cython/Includes/libcpp/future.pxd +103 -0
  194. Cython/Includes/libcpp/iterator.pxd +34 -0
  195. Cython/Includes/libcpp/latch.pxd +17 -0
  196. Cython/Includes/libcpp/limits.pxd +61 -0
  197. Cython/Includes/libcpp/list.pxd +117 -0
  198. Cython/Includes/libcpp/map.pxd +252 -0
  199. Cython/Includes/libcpp/memory.pxd +115 -0
  200. Cython/Includes/libcpp/mutex.pxd +387 -0
  201. Cython/Includes/libcpp/numbers.pxd +15 -0
  202. Cython/Includes/libcpp/numeric.pxd +131 -0
  203. Cython/Includes/libcpp/optional.pxd +34 -0
  204. Cython/Includes/libcpp/pair.pxd +1 -0
  205. Cython/Includes/libcpp/queue.pxd +25 -0
  206. Cython/Includes/libcpp/random.pxd +166 -0
  207. Cython/Includes/libcpp/semaphore.pxd +43 -0
  208. Cython/Includes/libcpp/set.pxd +228 -0
  209. Cython/Includes/libcpp/shared_mutex.pxd +96 -0
  210. Cython/Includes/libcpp/span.pxd +87 -0
  211. Cython/Includes/libcpp/stack.pxd +11 -0
  212. Cython/Includes/libcpp/stop_token.pxd +117 -0
  213. Cython/Includes/libcpp/string.pxd +355 -0
  214. Cython/Includes/libcpp/string_view.pxd +183 -0
  215. Cython/Includes/libcpp/typeindex.pxd +15 -0
  216. Cython/Includes/libcpp/typeinfo.pxd +10 -0
  217. Cython/Includes/libcpp/unordered_map.pxd +193 -0
  218. Cython/Includes/libcpp/unordered_set.pxd +152 -0
  219. Cython/Includes/libcpp/utility.pxd +30 -0
  220. Cython/Includes/libcpp/vector.pxd +186 -0
  221. Cython/Includes/numpy/math.pxd +150 -0
  222. Cython/Includes/openmp.pxd +50 -0
  223. Cython/Includes/posix/__init__.pxd +1 -0
  224. Cython/Includes/posix/dlfcn.pxd +14 -0
  225. Cython/Includes/posix/fcntl.pxd +86 -0
  226. Cython/Includes/posix/ioctl.pxd +4 -0
  227. Cython/Includes/posix/mman.pxd +101 -0
  228. Cython/Includes/posix/resource.pxd +57 -0
  229. Cython/Includes/posix/select.pxd +21 -0
  230. Cython/Includes/posix/signal.pxd +73 -0
  231. Cython/Includes/posix/stat.pxd +98 -0
  232. Cython/Includes/posix/stdio.pxd +37 -0
  233. Cython/Includes/posix/stdlib.pxd +29 -0
  234. Cython/Includes/posix/strings.pxd +9 -0
  235. Cython/Includes/posix/time.pxd +71 -0
  236. Cython/Includes/posix/types.pxd +30 -0
  237. Cython/Includes/posix/uio.pxd +26 -0
  238. Cython/Includes/posix/unistd.pxd +271 -0
  239. Cython/Includes/posix/wait.pxd +38 -0
  240. Cython/Plex/Actions.pxd +24 -0
  241. Cython/Plex/Actions.py +119 -0
  242. Cython/Plex/Actions.pyd +0 -0
  243. Cython/Plex/DFA.pxd +14 -0
  244. Cython/Plex/DFA.py +164 -0
  245. Cython/Plex/DFA.pyd +0 -0
  246. Cython/Plex/Errors.py +48 -0
  247. Cython/Plex/Lexicons.py +178 -0
  248. Cython/Plex/Machines.pxd +36 -0
  249. Cython/Plex/Machines.py +238 -0
  250. Cython/Plex/Machines.pyd +0 -0
  251. Cython/Plex/Regexps.py +535 -0
  252. Cython/Plex/Scanners.pxd +45 -0
  253. Cython/Plex/Scanners.py +328 -0
  254. Cython/Plex/Scanners.pyd +0 -0
  255. Cython/Plex/Transitions.pxd +14 -0
  256. Cython/Plex/Transitions.py +239 -0
  257. Cython/Plex/Transitions.pyd +0 -0
  258. Cython/Plex/__init__.py +34 -0
  259. Cython/Runtime/__init__.py +1 -0
  260. Cython/Runtime/refnanny.pyd +0 -0
  261. Cython/Runtime/refnanny.pyx +237 -0
  262. Cython/Shadow.py +690 -0
  263. Cython/Shadow.pyi +521 -0
  264. Cython/StringIOTree.py +170 -0
  265. Cython/StringIOTree.pyd +0 -0
  266. Cython/Tempita/__init__.py +4 -0
  267. Cython/Tempita/_looper.py +154 -0
  268. Cython/Tempita/_tempita.py +1091 -0
  269. Cython/Tempita/_tempita.pyd +0 -0
  270. Cython/TestUtils.py +422 -0
  271. Cython/Tests/TestCodeWriter.py +128 -0
  272. Cython/Tests/TestCythonUtils.py +202 -0
  273. Cython/Tests/TestJediTyper.py +223 -0
  274. Cython/Tests/TestShadow.py +114 -0
  275. Cython/Tests/TestStringIOTree.py +67 -0
  276. Cython/Tests/TestTestUtils.py +90 -0
  277. Cython/Tests/__init__.py +1 -0
  278. Cython/Tests/xmlrunner.py +390 -0
  279. Cython/Utility/AsyncGen.c +1031 -0
  280. Cython/Utility/Buffer.c +865 -0
  281. Cython/Utility/BufferFormatFromTypeInfo.pxd +2 -0
  282. Cython/Utility/Builtins.c +810 -0
  283. Cython/Utility/CConvert.pyx +134 -0
  284. Cython/Utility/CMath.c +104 -0
  285. Cython/Utility/CommonStructures.c +226 -0
  286. Cython/Utility/Complex.c +378 -0
  287. Cython/Utility/Coroutine.c +2300 -0
  288. Cython/Utility/CpdefEnums.pyx +103 -0
  289. Cython/Utility/CppConvert.pyx +282 -0
  290. Cython/Utility/CppSupport.cpp +151 -0
  291. Cython/Utility/CythonFunction.c +1832 -0
  292. Cython/Utility/Dataclasses.c +101 -0
  293. Cython/Utility/Embed.c +121 -0
  294. Cython/Utility/Exceptions.c +1016 -0
  295. Cython/Utility/ExtensionTypes.c +996 -0
  296. Cython/Utility/FunctionArguments.c +1043 -0
  297. Cython/Utility/FusedFunction.pyx +44 -0
  298. Cython/Utility/ImportExport.c +907 -0
  299. Cython/Utility/MemoryView.pxd +188 -0
  300. Cython/Utility/MemoryView.pyx +1482 -0
  301. Cython/Utility/MemoryView_C.c +927 -0
  302. Cython/Utility/ModuleSetupCode.c +3203 -0
  303. Cython/Utility/NumpyImportArray.c +46 -0
  304. Cython/Utility/ObjectHandling.c +3273 -0
  305. Cython/Utility/Optimize.c +1603 -0
  306. Cython/Utility/Overflow.c +384 -0
  307. Cython/Utility/Printing.c +86 -0
  308. Cython/Utility/Profile.c +732 -0
  309. Cython/Utility/StringTools.c +1379 -0
  310. Cython/Utility/Synchronization.c +399 -0
  311. Cython/Utility/TString.c +356 -0
  312. Cython/Utility/TestCyUtilityLoader.pyx +8 -0
  313. Cython/Utility/TestCythonScope.pyx +75 -0
  314. Cython/Utility/TestUtilityLoader.c +12 -0
  315. Cython/Utility/TypeConversion.c +1385 -0
  316. Cython/Utility/UFuncs.pyx +50 -0
  317. Cython/Utility/UFuncs_C.c +89 -0
  318. Cython/Utility/__init__.py +28 -0
  319. Cython/Utility/arrayarray.h +167 -0
  320. Cython/Utils.py +687 -0
  321. Cython/Utils.pyd +0 -0
  322. Cython/__init__.py +10 -0
  323. Cython/__init__.pyi +7 -0
  324. Cython/py.typed +0 -0
  325. cython-3.2.0.dist-info/METADATA +85 -0
  326. cython-3.2.0.dist-info/RECORD +333 -0
  327. cython-3.2.0.dist-info/WHEEL +5 -0
  328. cython-3.2.0.dist-info/entry_points.txt +4 -0
  329. cython-3.2.0.dist-info/top_level.txt +3 -0
  330. cython.py +29 -0
  331. pyximport/__init__.py +4 -0
  332. pyximport/pyxbuild.py +160 -0
  333. pyximport/pyximport.py +482 -0
@@ -0,0 +1,193 @@
1
+ from .utility cimport pair
2
+
3
+ cdef extern from "<unordered_map>" namespace "std" nogil:
4
+ cdef cppclass unordered_map[T, U, HASH=*, PRED=*, ALLOCATOR=*]:
5
+ ctypedef T key_type
6
+ ctypedef U mapped_type
7
+ ctypedef pair[const T, U] value_type
8
+ ctypedef ALLOCATOR allocator_type
9
+
10
+ # these should really be allocator_type.size_type and
11
+ # allocator_type.difference_type to be true to the C++ definition
12
+ # but cython doesn't support deferred access on template arguments
13
+ ctypedef size_t size_type
14
+ ctypedef ptrdiff_t difference_type
15
+
16
+ cppclass iterator
17
+ cppclass iterator:
18
+ iterator() except +
19
+ iterator(iterator&) except +
20
+ # correct would be value_type& but this does not work
21
+ # well with cython's code gen
22
+ pair[T, U]& operator*()
23
+ iterator operator++()
24
+ iterator operator--()
25
+ iterator operator++(int)
26
+ iterator operator--(int)
27
+ bint operator==(iterator)
28
+ bint operator==(const_iterator)
29
+ bint operator!=(iterator)
30
+ bint operator!=(const_iterator)
31
+ cppclass const_iterator:
32
+ const_iterator() except +
33
+ const_iterator(iterator&) except +
34
+ operator=(iterator&) except +
35
+ # correct would be const value_type& but this does not work
36
+ # well with cython's code gen
37
+ const pair[T, U]& operator*()
38
+ const_iterator operator++()
39
+ const_iterator operator--()
40
+ const_iterator operator++(int)
41
+ const_iterator operator--(int)
42
+ bint operator==(iterator)
43
+ bint operator==(const_iterator)
44
+ bint operator!=(iterator)
45
+ bint operator!=(const_iterator)
46
+
47
+ unordered_map() except +
48
+ unordered_map(unordered_map&) except +
49
+ #unordered_map(key_compare&)
50
+ U& operator[](const T&)
51
+ #unordered_map& operator=(unordered_map&)
52
+ bint operator==(unordered_map&, unordered_map&)
53
+ bint operator!=(unordered_map&, unordered_map&)
54
+ bint operator<(unordered_map&, unordered_map&)
55
+ bint operator>(unordered_map&, unordered_map&)
56
+ bint operator<=(unordered_map&, unordered_map&)
57
+ bint operator>=(unordered_map&, unordered_map&)
58
+ U& at(const T&) except +
59
+ const U& const_at "at"(const T&) except +
60
+ iterator begin()
61
+ const_iterator const_begin "begin"()
62
+ const_iterator cbegin()
63
+ void clear()
64
+ size_t count(const T&)
65
+ bint empty()
66
+ iterator end()
67
+ const_iterator const_end "end"()
68
+ const_iterator cend()
69
+ pair[iterator, iterator] equal_range(const T&)
70
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
71
+ iterator erase(iterator)
72
+ iterator const_erase "erase"(const_iterator)
73
+ iterator erase(const_iterator, const_iterator)
74
+ size_t erase(const T&)
75
+ iterator find(const T&)
76
+ const_iterator const_find "find"(const T&)
77
+ pair[iterator, bint] insert(const pair[T, U]&) except +
78
+ iterator insert(const_iterator, const pair[T, U]&) except +
79
+ void insert[InputIt](InputIt, InputIt) except +
80
+ #key_compare key_comp()
81
+ iterator lower_bound(const T&)
82
+ const_iterator const_lower_bound "lower_bound"(const T&)
83
+ size_t max_size()
84
+ size_t size()
85
+ void swap(unordered_map&)
86
+ iterator upper_bound(const T&)
87
+ const_iterator const_upper_bound "upper_bound"(const T&)
88
+ #value_compare value_comp()
89
+ void max_load_factor(float)
90
+ float max_load_factor()
91
+ float load_factor()
92
+ void rehash(size_t)
93
+ void reserve(size_t)
94
+ size_t bucket_count()
95
+ size_t max_bucket_count()
96
+ size_t bucket_size(size_t)
97
+ size_t bucket(const T&)
98
+ # C++20
99
+ bint contains(const T&)
100
+
101
+ cdef cppclass unordered_multimap[T, U, HASH=*, PRED=*, ALLOCATOR=*]:
102
+ ctypedef T key_type
103
+ ctypedef U mapped_type
104
+ ctypedef pair[const T, U] value_type
105
+ ctypedef ALLOCATOR allocator_type
106
+
107
+ # these should really be allocator_type.size_type and
108
+ # allocator_type.difference_type to be true to the C++ definition
109
+ # but cython doesn't support deferred access on template arguments
110
+ ctypedef size_t size_type
111
+ ctypedef ptrdiff_t difference_type
112
+
113
+ cppclass const_iterator
114
+ cppclass iterator:
115
+ iterator() except +
116
+ iterator(iterator&) except +
117
+ # correct would be value_type& but this does not work
118
+ # well with cython's code gen
119
+ pair[T, U]& operator*()
120
+ iterator operator++()
121
+ iterator operator++(int)
122
+ bint operator==(iterator)
123
+ bint operator==(const_iterator)
124
+ bint operator!=(iterator)
125
+ bint operator!=(const_iterator)
126
+ cppclass const_iterator:
127
+ const_iterator() except +
128
+ const_iterator(iterator&) except +
129
+ operator=(iterator&) except +
130
+ # correct would be const value_type& but this does not work
131
+ # well with cython's code gen
132
+ const pair[T, U]& operator*()
133
+ const_iterator operator++()
134
+ const_iterator operator++(int)
135
+ bint operator==(iterator)
136
+ bint operator==(const_iterator)
137
+ bint operator!=(iterator)
138
+ bint operator!=(const_iterator)
139
+
140
+ unordered_multimap() except +
141
+ unordered_multimap(const unordered_multimap&) except +
142
+ #unordered_multimap(key_compare&)
143
+ #unordered_map& operator=(unordered_multimap&)
144
+ bint operator==(const unordered_multimap&, const unordered_multimap&)
145
+ bint operator!=(const unordered_multimap&, const unordered_multimap&)
146
+ bint operator<(const unordered_multimap&, const unordered_multimap&)
147
+ bint operator>(const unordered_multimap&, const unordered_multimap&)
148
+ bint operator<=(const unordered_multimap&, const unordered_multimap&)
149
+ bint operator>=(const unordered_multimap&, const unordered_multimap&)
150
+ iterator begin()
151
+ const_iterator const_begin "begin"()
152
+ const_iterator cbegin()
153
+ #local_iterator begin(size_t)
154
+ #const_local_iterator const_begin "begin"(size_t)
155
+ void clear()
156
+ size_t count(const T&)
157
+ bint empty()
158
+ iterator end()
159
+ const_iterator const_end "end"()
160
+ const_iterator cend()
161
+ #local_iterator end(size_t)
162
+ #const_local_iterator const_end "end"(size_t)
163
+ pair[iterator, iterator] equal_range(const T&)
164
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
165
+ iterator erase(iterator)
166
+ iterator const_erase "erase"(const_iterator)
167
+ iterator erase(const_iterator, const_iterator)
168
+ size_t erase(const T&)
169
+ iterator find(const T&)
170
+ const_iterator const_find "find"(const T&)
171
+ iterator insert(const pair[T, U]&) except +
172
+ iterator insert(const_iterator, const pair[T, U]&) except +
173
+ void insert[InputIt](InputIt, InputIt) except +
174
+ #key_compare key_comp()
175
+ iterator lower_bound(const T&)
176
+ const_iterator const_lower_bound "lower_bound"(const T&)
177
+ size_t max_size()
178
+ size_t size()
179
+ void swap(unordered_multimap&)
180
+ iterator upper_bound(const T&)
181
+ const_iterator const_upper_bound "upper_bound"(const T&)
182
+ #value_compare value_comp()
183
+ void max_load_factor(float)
184
+ float max_load_factor()
185
+ float load_factor()
186
+ void rehash(size_t)
187
+ void reserve(size_t)
188
+ size_t bucket_count()
189
+ size_t max_bucket_count()
190
+ size_t bucket_size(size_t)
191
+ size_t bucket(const T&)
192
+ # C++20
193
+ bint contains(const T&)
@@ -0,0 +1,152 @@
1
+ from .utility cimport pair
2
+
3
+ cdef extern from "<unordered_set>" namespace "std" nogil:
4
+ cdef cppclass unordered_set[T,HASH=*,PRED=*,ALLOCATOR=*]:
5
+ ctypedef T value_type
6
+
7
+ # these should really be allocator_type.size_type and
8
+ # allocator_type.difference_type to be true to the C++ definition
9
+ # but cython doesn't support deferred access on template arguments
10
+ ctypedef size_t size_type
11
+ ctypedef ptrdiff_t difference_type
12
+
13
+ cppclass const_iterator
14
+ cppclass iterator:
15
+ iterator() except +
16
+ iterator(iterator&) except +
17
+ value_type& operator*()
18
+ iterator operator++()
19
+ iterator operator--()
20
+ iterator operator++(int)
21
+ iterator operator--(int)
22
+ bint operator==(iterator)
23
+ bint operator==(const_iterator)
24
+ bint operator!=(iterator)
25
+ bint operator!=(const_iterator)
26
+ cppclass const_iterator:
27
+ const_iterator() except +
28
+ const_iterator(iterator&) except +
29
+ operator=(iterator&) except +
30
+ const value_type& operator*()
31
+ const_iterator operator++()
32
+ const_iterator operator--()
33
+ const_iterator operator++(int)
34
+ const_iterator operator--(int)
35
+ bint operator==(iterator)
36
+ bint operator==(const_iterator)
37
+ bint operator!=(iterator)
38
+ bint operator!=(const_iterator)
39
+
40
+ unordered_set() except +
41
+ unordered_set(unordered_set&) except +
42
+ #unordered_set& operator=(unordered_set&)
43
+ bint operator==(unordered_set&, unordered_set&)
44
+ bint operator!=(unordered_set&, unordered_set&)
45
+ iterator begin()
46
+ const_iterator const_begin "begin"()
47
+ const_iterator cbegin()
48
+ void clear()
49
+ size_t count(const T&)
50
+ bint empty()
51
+ iterator end()
52
+ const_iterator const_end "end"()
53
+ const_iterator cend()
54
+ pair[iterator, iterator] equal_range(const T&)
55
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
56
+ iterator erase(iterator)
57
+ iterator const_erase "erase"(const_iterator)
58
+ iterator erase(const_iterator, const_iterator)
59
+ size_t erase(const T&)
60
+ iterator find(const T&)
61
+ const_iterator const_find "find"(const T&)
62
+ pair[iterator, bint] insert(const T&) except +
63
+ iterator insert(const_iterator, const T&) except +
64
+ void insert[InputIt](InputIt, InputIt) except +
65
+ size_t max_size()
66
+ size_t size()
67
+ void swap(unordered_set&)
68
+ #value_compare value_comp()
69
+ void max_load_factor(float)
70
+ float max_load_factor()
71
+ float load_factor()
72
+ void rehash(size_t)
73
+ void reserve(size_t)
74
+ size_t bucket_count()
75
+ size_t max_bucket_count()
76
+ size_t bucket_size(size_t)
77
+ size_t bucket(const T&)
78
+ # C++20
79
+ bint contains(const T&)
80
+
81
+ cdef cppclass unordered_multiset[T,HASH=*,PRED=*,ALLOCATOR=*]:
82
+ ctypedef T value_type
83
+
84
+ # these should really be allocator_type.size_type and
85
+ # allocator_type.difference_type to be true to the C++ definition
86
+ # but cython doesn't support deferred access on template arguments
87
+ ctypedef size_t size_type
88
+ ctypedef ptrdiff_t difference_type
89
+
90
+ cppclass const_iterator
91
+ cppclass iterator:
92
+ iterator() except +
93
+ iterator(iterator&) except +
94
+ value_type& operator*()
95
+ iterator operator++()
96
+ iterator operator++(int)
97
+ bint operator==(iterator)
98
+ bint operator==(const_iterator)
99
+ bint operator!=(iterator)
100
+ bint operator!=(const_iterator)
101
+ cppclass const_iterator:
102
+ const_iterator() except +
103
+ const_iterator(iterator&) except +
104
+ operator=(iterator&) except +
105
+ const value_type& operator*()
106
+ const_iterator operator++()
107
+ const_iterator operator++(int)
108
+ bint operator==(iterator)
109
+ bint operator==(const_iterator)
110
+ bint operator!=(iterator)
111
+ bint operator!=(const_iterator)
112
+
113
+ unordered_multiset() except +
114
+ unordered_multiset(unordered_multiset&) except +
115
+ #unordered_multiset& operator=(unordered_multiset&)
116
+ bint operator==(unordered_multiset&, unordered_multiset&)
117
+ bint operator!=(unordered_multiset&, unordered_multiset&)
118
+ iterator begin()
119
+ const_iterator const_begin "begin"()
120
+ const_iterator cbegin()
121
+ void clear()
122
+ size_t count(const T&)
123
+ bint empty()
124
+ iterator end()
125
+ const_iterator const_end "end"()
126
+ const_iterator cend()
127
+ pair[iterator, iterator] equal_range(const T&)
128
+ pair[const_iterator, const_iterator] const_equal_range "equal_range"(const T&)
129
+ iterator erase(iterator)
130
+ iterator const_erase "erase"(const_iterator)
131
+ iterator erase(const_iterator, const_iterator)
132
+ size_t erase(const T&)
133
+ iterator find(const T&)
134
+ const_iterator const_find "find"(const T&)
135
+ iterator insert(const T&) except +
136
+ iterator insert(const_iterator, const T&) except +
137
+ void insert[InputIt](InputIt, InputIt) except +
138
+ size_t max_size()
139
+ size_t size()
140
+ void swap(unordered_multiset&)
141
+ #value_compare value_comp()
142
+ void max_load_factor(float)
143
+ float max_load_factor()
144
+ float load_factor()
145
+ void rehash(size_t)
146
+ void reserve(size_t)
147
+ size_t bucket_count()
148
+ size_t max_bucket_count()
149
+ size_t bucket_size(size_t)
150
+ size_t bucket(const T&)
151
+ # C++20
152
+ bint contains(const T&)
@@ -0,0 +1,30 @@
1
+ cdef extern from "<utility>" namespace "std" nogil:
2
+ cdef cppclass pair[T, U]:
3
+ ctypedef T first_type
4
+ ctypedef U second_type
5
+ T first
6
+ U second
7
+ pair() except +
8
+ pair(pair&) except +
9
+ pair(T&, U&) except +
10
+ bint operator==(pair&, pair&)
11
+ bint operator!=(pair&, pair&)
12
+ bint operator<(pair&, pair&)
13
+ bint operator>(pair&, pair&)
14
+ bint operator<=(pair&, pair&)
15
+ bint operator>=(pair&, pair&)
16
+
17
+ cdef extern from * namespace "cython_std" nogil:
18
+ """
19
+ #if __cplusplus >= 201103L || (defined(_MSC_VER) && _MSC_VER >= 1600)
20
+ // move should be defined for these versions of MSVC, but __cplusplus isn't set usefully
21
+ #include <type_traits>
22
+
23
+ namespace cython_std {
24
+ template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
25
+ template <typename T> typename std::remove_reference<T>::type&& move(T&& t) noexcept { return std::move(t); }
26
+ }
27
+
28
+ #endif
29
+ """
30
+ cdef T move[T](T)
@@ -0,0 +1,186 @@
1
+ cdef extern from "<vector>" namespace "std" nogil:
2
+ cdef cppclass vector[T,ALLOCATOR=*]:
3
+ ctypedef T value_type
4
+ ctypedef ALLOCATOR allocator_type
5
+
6
+ # these should really be allocator_type.size_type and
7
+ # allocator_type.difference_type to be true to the C++ definition
8
+ # but cython doesn't support deferred access on template arguments
9
+ ctypedef size_t size_type
10
+ ctypedef ptrdiff_t difference_type
11
+
12
+ bint operator==(const vector&, const vector&)
13
+ bint operator!=(const vector&, const vector&)
14
+ bint operator<(const vector&, const vector&)
15
+ bint operator>(const vector&, const vector&)
16
+ bint operator<=(const vector&, const vector&)
17
+ bint operator>=(const vector&, const vector&)
18
+
19
+ cppclass const_iterator
20
+ cppclass iterator:
21
+ iterator() except +
22
+ iterator(iterator&) except +
23
+ T& operator*()
24
+ iterator operator++()
25
+ iterator operator--()
26
+ iterator operator++(int)
27
+ iterator operator--(int)
28
+ iterator operator+(size_type)
29
+ iterator operator-(size_type)
30
+ difference_type operator-(iterator)
31
+ difference_type operator-(const_iterator)
32
+ bint operator==(iterator)
33
+ bint operator==(const_iterator)
34
+ bint operator!=(iterator)
35
+ bint operator!=(const_iterator)
36
+ bint operator<(iterator)
37
+ bint operator<(const_iterator)
38
+ bint operator>(iterator)
39
+ bint operator>(const_iterator)
40
+ bint operator<=(iterator)
41
+ bint operator<=(const_iterator)
42
+ bint operator>=(iterator)
43
+ bint operator>=(const_iterator)
44
+ cppclass const_iterator:
45
+ const_iterator() except +
46
+ const_iterator(iterator&) except +
47
+ const_iterator(const_iterator&) except +
48
+ operator=(iterator&) except +
49
+ const T& operator*()
50
+ const_iterator operator++()
51
+ const_iterator operator--()
52
+ const_iterator operator++(int)
53
+ const_iterator operator--(int)
54
+ const_iterator operator+(size_type)
55
+ const_iterator operator-(size_type)
56
+ difference_type operator-(iterator)
57
+ difference_type operator-(const_iterator)
58
+ bint operator==(iterator)
59
+ bint operator==(const_iterator)
60
+ bint operator!=(iterator)
61
+ bint operator!=(const_iterator)
62
+ bint operator<(iterator)
63
+ bint operator<(const_iterator)
64
+ bint operator>(iterator)
65
+ bint operator>(const_iterator)
66
+ bint operator<=(iterator)
67
+ bint operator<=(const_iterator)
68
+ bint operator>=(iterator)
69
+ bint operator>=(const_iterator)
70
+
71
+ cppclass const_reverse_iterator
72
+ cppclass reverse_iterator:
73
+ reverse_iterator() except +
74
+ reverse_iterator(reverse_iterator&) except +
75
+ T& operator*()
76
+ reverse_iterator operator++()
77
+ reverse_iterator operator--()
78
+ reverse_iterator operator++(int)
79
+ reverse_iterator operator--(int)
80
+ reverse_iterator operator+(size_type)
81
+ reverse_iterator operator-(size_type)
82
+ difference_type operator-(iterator)
83
+ difference_type operator-(const_iterator)
84
+ bint operator==(reverse_iterator)
85
+ bint operator==(const_reverse_iterator)
86
+ bint operator!=(reverse_iterator)
87
+ bint operator!=(const_reverse_iterator)
88
+ bint operator<(reverse_iterator)
89
+ bint operator<(const_reverse_iterator)
90
+ bint operator>(reverse_iterator)
91
+ bint operator>(const_reverse_iterator)
92
+ bint operator<=(reverse_iterator)
93
+ bint operator<=(const_reverse_iterator)
94
+ bint operator>=(reverse_iterator)
95
+ bint operator>=(const_reverse_iterator)
96
+ cppclass const_reverse_iterator:
97
+ const_reverse_iterator() except +
98
+ const_reverse_iterator(reverse_iterator&) except +
99
+ operator=(reverse_iterator&) except +
100
+ const T& operator*()
101
+ const_reverse_iterator operator++()
102
+ const_reverse_iterator operator--()
103
+ const_reverse_iterator operator++(int)
104
+ const_reverse_iterator operator--(int)
105
+ const_reverse_iterator operator+(size_type)
106
+ const_reverse_iterator operator-(size_type)
107
+ difference_type operator-(iterator)
108
+ difference_type operator-(const_iterator)
109
+ bint operator==(reverse_iterator)
110
+ bint operator==(const_reverse_iterator)
111
+ bint operator!=(reverse_iterator)
112
+ bint operator!=(const_reverse_iterator)
113
+ bint operator<(reverse_iterator)
114
+ bint operator<(const_reverse_iterator)
115
+ bint operator>(reverse_iterator)
116
+ bint operator>(const_reverse_iterator)
117
+ bint operator<=(reverse_iterator)
118
+ bint operator<=(const_reverse_iterator)
119
+ bint operator>=(reverse_iterator)
120
+ bint operator>=(const_reverse_iterator)
121
+
122
+ # 22.3.11.2, construct/copy/destroy
123
+ vector() except + # (1)
124
+ vector(size_type) except + # (3)
125
+ vector(size_type, const T&) except + # (4)
126
+ # type (vector&) is needed here so that Cython can compile templated definition
127
+ vector& vector[InputIt](InputIt, InputIt) except + # (5)
128
+ vector(const vector&) except + # (6)
129
+ # vector& operator=(const vector&)
130
+ void assign[InputIt](InputIt, InputIt) except +
131
+ void assign(size_type, const T&)
132
+ allocator_type get_allocator()
133
+
134
+ # iterators
135
+ iterator begin()
136
+ const_iterator const_begin "begin"()
137
+ iterator end()
138
+ const_iterator const_end "end"()
139
+ reverse_iterator rbegin()
140
+ const_reverse_iterator const_rbegin "rbegin"()
141
+ reverse_iterator rend()
142
+ const_reverse_iterator const_rend "rend"()
143
+
144
+ const_iterator cbegin()
145
+ const_iterator cend()
146
+ const_reverse_iterator crbegin()
147
+ const_reverse_iterator crend()
148
+
149
+ # 22.3.11.3, capacity
150
+ bint empty()
151
+ size_type size()
152
+ size_type max_size()
153
+ size_type capacity()
154
+ void resize(size_type) except +
155
+ void resize(size_type, const T&) except +
156
+ void reserve(size_type) except +
157
+ void shrink_to_fit() except + # C++11
158
+
159
+ # element access
160
+ T& operator[](size_type)
161
+ T& at(size_type) except +
162
+ T& front()
163
+ T& back()
164
+
165
+ # 22.3.11.4, data access - C++11
166
+ T* data()
167
+ const T* const_data "data"()
168
+
169
+ # 22.3.11.5, modifiers
170
+ T& emplace_back(...) except + # C++11
171
+ void push_back(const T&) except +
172
+ void pop_back()
173
+
174
+ iterator emplace(const_iterator, ...) except + # C++11
175
+ iterator insert(iterator, const T&) except +
176
+ iterator insert(const_iterator, const T&) except +
177
+ iterator insert(iterator, size_type, const T&) except +
178
+ iterator insert(const_iterator, size_type, const T&) except +
179
+ iterator insert[InputIt](iterator, InputIt, InputIt) except +
180
+ iterator insert[InputIt](const_iterator, InputIt, InputIt) except +
181
+ iterator erase(iterator) except +
182
+ const_iterator erase(const_iterator) except + # C++11
183
+ iterator erase(iterator, iterator) except +
184
+ iterator erase(const_iterator, const_iterator) except + # C++11
185
+ void swap(vector&)
186
+ void clear()